HTTP 请求中 request payload 和 formData 区别
在测试 cacheAdmin 接口时发现,POST 请求 Headers tab 最下面的数据部分标题显示的是 Request PayLoad
(请求有效载荷),这与自己常写的接口展示不太一样。正常标题显示为 Form Data
,下面是一个对比图:
看形式猜测是提交的数据类型有些区别,网上查找相关的文档,找到以下内容:
FormData
和Payload
是浏览器传输给接口的两种格式,这两种方式浏览器是通过Content-Type
来进行区分的(了解 Content-Type),如果是application/x-www-form-urlencoded
的话,则为formdata
方式,如果是application/json
或multipart/form-data
的话,则为request payload
的方式。
—— 摘自 HTTP请求中 request payload 和 formData 区别? - cnblog
所以,正常的表单提交(Content-Type 默认为 application/x-www-form-urlencoded
)时,显示 Form Data
,而在上传参数包含文件(Content-Type 为 multipart/form-data
)或者 请求参数为 json 格式(Content-Type 为 application/json
)时,显示 Request Payload
。
我碰到的情况就是前端请求以 json 格式提交参数。这似乎成为了现在接口的一个标准动作,传递和接受数据都采用 json 格式进行。