Postman请求中格式对应的请求头 ,HTTP content-type,Request Payload 和 Form Data 的区别

postman中的多种请求方式其实就是就是设置HTTP请求头header[‘content-type’]

一、Content-Type(内容类型)

一般是指网页中存在的 Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件
常见的媒体格式类型如下:

  1. text/html的意思是将文件的content-type设置为text/html的形式,浏览器在获取到这种文件时会自动调用html的解析器对文件进行相应的处理。

  2. text/plain的意思是将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理。

  3. application/json JSON数据格式
    在这里插入图片描述

  4. application/x-www-form-urlencoded:表单格式

text/html : HTML格式
text/plain :纯文本格式
text/xml : XML格式
image/gif :gif图片格式
image/jpeg :jpg图片格式
image/png:png图片格式
以application开头的媒体格式类型:

application/xhtml+xml :XHTML格式
application/xml: XML数据格式
application/atom+xml :Atom XML聚合格式
application/json: JSON数据格式
application/pdf:pdf格式
application/msword : Word文档格式
application/octet-stream : 二进制流数据(如常见的文件下载)
application/x-www-form-urlencoded : 中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
另外一种常见的媒体格式是上传文件之时使用的:

multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式

Postman模拟Request Payload发送请求

Postman模拟Request Payload发送请求,如下图所示:
在这里插入图片描述
在这里插入图片描述

Postman中 form-data、x-www-form-urlencoded、raw、binary的区别

1)form-data 就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。
2)x-www-form-urlencoded 就是application/x-www-from-urlencoded,会将表单内的数据转换为键值对,比如,name=java&age = 23
3)raw 可以上传任意格式的文本,可以上传text、json、xml、html等
4)binary 相当于Content-Type:application/octet-stream,从字面意思得知,只可以上传二进制数据,通常用来上传文件,由于没有键值,所以,一次只能上传一个文件。

在这里插入图片描述
服务端:(spring control解析)
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Request Payload 和 Form Data 的区别

前端时间在开发过程中,在controller中使用@RequestParam居然接收不到前端传过来的参数。才发现请求正文为Request Payload,请求头Content-Type: application/json,以这种方式请求,后台用@RequestParam是接收不到参数的,只能用@RequestBody,或者通过实现spring的HandlerMethodArgumentResolver 接口,自定义参数解析器去单个接收参数,可参考下一篇

Request Payload请求:

Request Payload的请求正文格式是json格式的字符串:
{ “loginName” : “admin”, “password” : “123456” }

Form Data请求:

Form Data的请求正文格式是用key=value&key1=value2格式:
loginName=admin&password=123456

后台处理:
对于 Request Payload 请求, 必须加 @RequestBody 才能将请求正文解析到对应的 bean 中,且只能通过 request.getReader() 来获取请求正文内容

对于 Form Data 请求,无需任何注解,springmvc 会自动使用 MessageConverter 将请求参数解析到对应的 bean,且通过 request.getParameter(…) 能获取请求参数,或者通过@RequestParam接收

header[‘content-type’]
application/json
application/x-www-form-urlencoded

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶子 ✪ω✪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值