get请求和post请求


http get请求和post请求的区别:

get请求是发送一个数据包,将请求(header和data)一次性发到服务器,返回200

post请求发送两个数据包,先发送请求Header,返回100 continue,再发送data,返回200

注意:

get请求和post请求看似差异很大,其实并没有本质区别,都使用TCP协议传输。

get请求将参数放在URL中,post请求将参数放在body里。但这只是http的约定,并不是规范,我们可以将get参数放在body中,也可以将post参数放在URL里

get请求收不到body参数,不是http的限制,一般是浏览器或者服务器的限制。

get请求和post请求在使用不同的注解接收参数时的情况:

1.@PathVariable

get请求和post请求都可以正确地接收到参数

2.@RequestParam

当用param的方式传参时(拼在URL后面),get和post都可以接收到到参数

post请求用body传参时,Content-Type设置成application/x-www-form-urlencoded格式,可以接收到参数

3.@RequestBody

get请求不建议也不支持用body传参

post请求将Content-Type为application/json,用json格式字符串传参,可以接收并自动映射为对象。

注意:一个@RequestParam注解只能接收一个参数,如果有多个参数,最好封装成参数对象,去掉@RequestParam注解,如下图:

多个@RequestParam注解


去掉@RequestParam注解,用对象接收多个参数
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容