7.19笔记(url请求,以及以前不了解的几个注解)
GetMapping
等价于@RequestMapping的GET的请求方法
PostMapping
等价于@RequestMapping的POST的请求方法
常见的url编码
- 1XX:信息(用于表示临时相应并需要进一步操作才能执行的中间状态代码)
- 2XX:成功(用来表示服务器已经成功处理了请求)
- 3XX:重定向(要完成请求要进一步的操作)
- 4XX:客户端错误(服务器对请求的处理发生了错误)
- 5XX:服务器错误(服务器在处理请求时发生内部错误)
POST和GET请求的区别
- get请求是把参数包含在URL中,post请求是通过request body中传递参数
- get在浏览器回退时是没有影响的,post会再次提交请求
- get因为参数在url中传输,所以对参数的长度是有限制的。而post是在body中进行传递参数,因此对长度没有限制
- 还是因为参数的位置不同。get的参数都在url上,所以安全性没有post高
但是本质来讲post和get的底层都是TCP/IP,所以说他们都可以把参数放在url上和body上,但是不同在于::::
get产生一个TCP数据包,而post产生两个TCP数据包:
- post是先发送header,服务器相应100,然后发送data,服务器相应200
- get直接就把body和data都发送出去,服务器相应200
所以在表面上看get比post更快,但是不能混用!
- 在正常网络条件下,发送的次数对时间影响不大,反而post发送两次在校验包的完整性上有很大优势
- 并不是所有浏览器post请求都发送两次(火狐就发送一次)
- GET与POST都有自己的语义,不能随便混用。
RequestBody
RequestParam
PathVariable
RequestParam
接收的参数是requestHeader中(请求头部),RequestParam既可以接收简单的数据类型,也可以接收对象类型。@RequestParam的三个参数
- required:表示是否必须,默认为true
- defaultValue:设置请求的默认值
- value:接url的参数名
@RequestParam只能处理 application/x-www-form-urlencoded 编码的内容
RequestBody
@RequestBody注解可以把请求体的json数据送到后台解析(不支持get请求)
PathVariable
主要是映射url绑定的占位符


浙公网安备 33010602011771号