get post请求 与 @PathVariable @RequestParam @RequestBody 注解的使用
GET请求:
1.@PathVariable 注解:参数拼接在url上,value的方式入参
@GetMapping("/getData/{id}")
public ResponseResult test(@PathVariable List id){
return ResponseResult.ofSuccess(id);
}
集合入参,参数以逗号进行分隔
文章图片
【get post请求 与 @PathVariable @RequestParam @RequestBody 注解的使用】2.@RequestParam 注解:参数拼接在url上(只能用Params方式,不能用Body),以key=value的方式入参
@GetMapping("/getData")
public ResponseResult test1(@RequestParam List id){
return ResponseResult.ofSuccess(id);
}
集合入参,参数以逗号进行分隔
文章图片
3.@RequestBody 注解:由于GET的参数是通过Url方式传递的,而不是请求体传递的,所以无法通过@RequestBody注解来接收。
POST请求:
1.@PathVariable 注解:参数拼接在url上,value的方式入参
@PostMapping("/getData/{id}")
public ResponseResult test2(@PathVariable List id){return ResponseResult.ofSuccess(id);
}
集合入参,参数以逗号进行分隔
文章图片
2.@RequestParam 注解:即可拼接在url上,也可在请求体中
@PostMapping("/getData1")
public ResponseResult test3(@RequestParam List id){
return ResponseResult.ofSuccess(id);
}
使用Params方式:参数拼接在url上
文章图片
使用Body,form的方式:参数在请求体中
文章图片
使用Body,json的方式:参数在请求体中
会报id不能为空的错误信息
3.@RequestBody 注解:
@PostMapping("/getData2")
public ResponseResult test4(@RequestBody List id){
return ResponseResult.ofSuccess(id);
}
不支持Params方式入参
org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing:
不支持Body,form方式入参
org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;
charset=UTF-8' not supported
支持Body,json方式
文章图片
推荐阅读
- https请求被提早撤回
- 遇到不正当请求怎么办
- 接口|axios接口报错-参数类型错误解决
- 使用Promise对微信小程序wx.request请求方法进行封装
- AnyProxy抓取http/https请求
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- spring|spring boot中设置异步请求默认使用的线程池
- c#常用网址记录
- 微信小程序请求接口格式
- 用钱来爱你