问题背景

  1. nodejs-expressjs处理post请求
  2. 使用apidoc自动生成接口文档
  3. 使用apidoc的“发送示例请求”功能测试接口
  4. post接口选择form-data时后端获取不到body数据

原因

apidoc发送示例请求使用的是jquery的ajax,设置了Content-Type = 'multipart/form-data' 导致失去bundary,后端multer无法解析

解决方案

  1. 找到apidoc安装目录下的\apidoc\template\src\send_sample_request.js
  2. sendSampleRequest方法中找到if (requestParams.headers['Content-Type'] === 'multipart/form-data')分支
  3. 添加如下代码将Content-Type设置为false
requestParams.contentType=false
delete requestParams.headers['Content-Type']
posted on 2022-01-11 14:43  吞天泡泡龙  阅读(68)  评论(0编辑  收藏  举报