前言
springboot web项目前后端分离时,他们的交互一般使用JSON数据格式,后端需要接收所传参数,当前端的请求类型不同时,接收方式也不同。
请求数据类型
- JQuery Ajax 以 application/json 上传 JSON字符串
- JQuery Ajax 以 application/x-www-form-urlencoded 上传 JSON对象
接收参数的注释
@PathVariable:
url/{key}这种形式,也就是一般我们使用的GET,DELETE,PUT方法会使用到的,我们可以获取URL后所跟的参数。
@RequestParam:
后端想用这个方法,前端必须x-www-form-urlencoded,而不能加contentType: ‘application/json;charset=UTF-8’,
@RequestBody:
前端必须指定请求json数据的contentType为:application/json,否则会报类型不支持的异常错误“org.springframework.web.HttpMediaTypeNotSupportedException”
@RequestHeader
获取头信息里的值
@CookieValue
获取Cookie值
实战
1 get 请求
@PathVariable一般用于获取获取url/{key}
@RequestParam获取查询参数。即url?code=XX
![c6cd2740e4ec0cc1751a56da252f2ae1.png](https://img-blog.csdnimg.cn/img_convert/c6cd2740e4ec0cc1751a56da252f2ae1.png)
2 post请求,用map接收
![df51df4c655f5e7022f653439757e699.png](https://img-blog.csdnimg.cn/img_convert/df51df4c655f5e7022f653439757e699.png)
pos 请求,用 JSONObject 接收
![6ad66231f285abf04e5a8e4c34b56ec0.png](https://img-blog.csdnimg.cn/img_convert/6ad66231f285abf04e5a8e4c34b56ec0.png)
pos 请求,用 实体 接收
![6f18c6cbe3ee91ffeb01fe5529b89840.png](https://img-blog.csdnimg.cn/img_convert/6f18c6cbe3ee91ffeb01fe5529b89840.png)
总结
- JQuery Ajax 以 application/json 上传 JSON字符串,后端用@RequestBody 接收
- JQuery Ajax 以 application/x-www-form-urlencoded 上传 JSON对象,后端用@RequestParam接收