2020-02-28——post、get/requestBody、requestParam

1.post请求和requestBody配合 正常用

controller 中是POST请求 接收参数是@RequestBody


controller

postman中是这样的


postman

接收的dto是这个样子


dto

json中加一个"my_sex" : "男"  这样不会男 不会放进dto中;

如果把@JsonProperty("my_name")改成("my_first_name")那么dto中name就接收不到,为空


null

2.post 和 requestParam 配合使用

有点奇怪但是也能通 

required  = true 表示 必传 默认为true

value 表示如何转换 前端传入my_name  然后@RequestParam(value = “my_name”) String name;

这样入参的my_name就会变成name

3.get请求不能和 RequestBody 一起使用  不支持

4.get请求正常用法就是 @RequestParam

5.get与post的区别

Get和Post都是Http协议的组件,所以底层都是使用tcp链接。Get的请求方式是将http的header和data一并发往服务端,也就是一条tcp数据包发送,这就会有两个问题:

数据量有限,依赖于Tcp负载能力,所以携带的数据量很大的情况下,容易造成重发。

所有的携带的数据只能接受转化成ASCII字符。

但是Post不一样,post使用两步走,先发送http的header,然后再传输data。数据类型也不受限制。而且数据隐秘性比较好。

6.application/x-www-from-urlencoded,会将表单内的数据转换为键值对,&分隔。

当form的action为get时,浏览器用x-www-form-urlencoded的编码方式,将表单数据编码为

(name1=value1&name2=value2…),然后把这个字符串append到url后面,用?分隔,跳转

到这个新的url。

当form的action为post时,浏览器将form数据封装到http body中,然后发送到server。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容