post传输application/json 和 application/x-www-form-urlencoded 区别
两者区别问题使用工具application/x-www-form-urlencodedapplication/json总结注意问题1、通过apache.HttpClient向body里面加属性怎么没有对方 没有解析出来(从header里面拿)2、表单传输不能用 @RequestBody 接收数据3、get方法的入参通过 @RequestParam 来获取值使用工具抓包工具 wireshrak=&g
问题
1、通过
apache.HttpClient
向body里面加属性怎么没有对方 没有解析出来(从header里面拿)
2、表单传输不能用@RequestBody
接收数据
3、get方法的入参通过@RequestParam
来获取值
使用工具
抓包工具 wireshrak => 本地测试使用 Adapter for loopback traffic capture
application/x-www-form-urlencoded
请求参数本质是在url后通过
&
拼接,例如name=yichen&age=18
数据存储位置在 http(Hypertext Transfer Protocol),请求头和请求体都在这里
application/json
参数参数体本质是一个json对象,例如
{"name":"yichen"}
请求头存储在 http(Hypertext Transfer Protocol),请求体存储在 JavaScript Object Notation(http后)
总结
前面的3个问题都是因为数据存放的位置不同。2可能还有前置判断逻辑
@RequestParam
获取URI
中的数据@RequestHeader
获取Hypertext Transfer Protocol
中的数据@RequestBody
获取外部JavaScript Object
中的数据
注意
以上为我从数据传输方向的分析,具体springboot是怎么实现的还有待查看源码。有错误望指正。
更多推荐
所有评论(0)