常用的前端4种请求方式

一.GET请求:

前端页面:

第一种情况下:

常用的前端4种请求方式_第1张图片

 第二种情况下:

常用的前端4种请求方式_第2张图片

后端代码:

对应第一种传输对象,接参方式:

常用的前端4种请求方式_第3张图片

 若我们强行给对象添加@RequestBody注解,会发生如下错误:


第二种情形下:

常用的前端4种请求方式_第4张图片

我们取消用@PathVariable来接收前端发来的ID,情况如下: 

常用的前端4种请求方式_第5张图片

 结论:当前端发起GET请求时,若传递的是一个对象,则后端接收数据时,不需要用@RequestBody来转换JSON串,若传递的是一个具体的值或参数则后端服务器必须用@PathVariable来接收。

二.POST请求

前端页面:

常用的前端4种请求方式_第6张图片

后端代码:

常用的前端4种请求方式_第7张图片

 POST请求,一般用于新增或登录操作,通常传递为一个对象即一个JSON串,后端服务器接收时必须使用@RequestBody注解来标识

三.PUT请求

前端页面:

第一种情况,传递为对象

常用的前端4种请求方式_第8张图片

 第二种情况,传递为具体参数

常用的前端4种请求方式_第9张图片

后端代码:

第一种传输对象,后端处理方式

常用的前端4种请求方式_第10张图片

 第二种传输具体参数,后端服务器处理方式:

常用的前端4种请求方式_第11张图片

若用 @RequestBody标识,情况如下:

常用的前端4种请求方式_第12张图片

 且数据库的状态值未发生改变

结论:当前端服务器发起PUT请求时,若携带参数为一个JSON串时,则后端服务器必须用@RequestBody注解进行标识,若携带参数为具体的值,后端接收时不需要任务注解进行标识

四.DELETE请求

前端页面:

常用的前端4种请求方式_第13张图片

后端代码:

 常用的前端4种请求方式_第14张图片

去除注解后,效果如下:

常用的前端4种请求方式_第15张图片

 常用的前端4种请求方式_第16张图片

当用户发起DELETE请求时,后端接收参数必须用注解进行标识,否则删除无效

总结:主要针对于GET和POST请求:

get拼接url,post传body,get限制字符串长度 
请求缓存:GET 会被缓存,而post不会 原因就是get是url的请求

收藏书签:GET可以,而POST不能 原因还是因为url可以收藏,

保留浏览器历史记录:GET可以,而POST不能 原因还是因为get的url请求! 
用处:get常用于取回数据,post用于提交数据 原因是get的url传输不管怎么说,都是有字符数限制的!如果字符串长度不超,一样能提交数据!

安全性:post比get安全 还是因为post是请求体,不会在url上被劫持!

请求参数:querystring 是url的一部分get、post都可以带上。 
get的querystring(仅支持urlencode编码),post的参数是放在body(支持多种编码) 
 请求参数长度限制:get请求长度最多1024kb,post对请求数据没有限制 

你可能感兴趣的:(http,ajax,restful)