问题背景
- nodejs-expressjs处理post请求
- 使用apidoc自动生成接口文档
- 使用apidoc的“发送示例请求”功能测试接口
- post接口选择form-data时后端获取不到body数据
原因
apidoc发送示例请求使用的是jquery的ajax,设置了Content-Type = 'multipart/form-data'
导致失去bundary,后端multer无法解析
解决方案
- 找到apidoc安装目录下的
\apidoc\template\src\send_sample_request.js
- 在
sendSampleRequest
方法中找到if (requestParams.headers['Content-Type'] === 'multipart/form-data')
分支 - 添加如下代码将
Content-Type
设置为false
requestParams.contentType=false
delete requestParams.headers['Content-Type']