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绑定的占位符

posted @ 2021-07-19 17:40  今天不摸鱼  阅读(190)  评论(0)    收藏  举报