@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));
}