Postman模拟Request Payload发送请求
原创萧萧慕宇 最后发布于2017-12-05 13:53:46 阅读数 16010 收藏
展开
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 的区别
原创逆流_Jun 最后发布于2017-06-22 17:50:49 阅读数 5209 收藏
展开
前端时间在开发过程中,在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