1.post请求和requestBody配合 正常用
controller 中是POST请求 接收参数是@RequestBody
postman中是这样的
接收的dto是这个样子
json中加一个"my_sex" : "男" 这样不会男 不会放进dto中;
如果把@JsonProperty("my_name")改成("my_first_name")那么dto中name就接收不到,为空
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。