首页 /  技术专区  /  Spring 宽屏模式 >

@RequestParam和@RequestBody的区别以及使用场景

@RequestParam和@RequestBody的区别以及使用场景

@RequestParam

① 支持POST和GET请求。

② 只支持Content-Type:为application/x-www-form-urlencoded编码的内容。Http协议中,如果不指定Content-Type,则默认传递的参数就是application/x-www-form-urlencoded类型)

实例:

@GetMapping("/detail")
public R<Blog> detail(@RequestParam Integer id){
   Blog blog = blogService.getById(id);
   return R.data(blog);
}


@RequestBody

① 不支持GET请求。

② 必须要在请求头中申明content-Type(如application/json)springMvc通过HandlerAdapter配置的HttpMessageConverters解析httpEntity的数据,并绑定到相应的bean上。

实例:

@PostMapping("/update")
public R update(@RequestBody Blog blog){
   return R.status(blogService.updateById(blog));
}



头像
0/200
图片验证码