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