@RequestBody和@RequestParam的应用场景的区分

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@RequestBody和@RequestParam的应用场景的区分相关的知识,希望对你有一定的参考价值。

参考技术A 该注解有两个属性:

前台请求的响应格式为 application/x-www-form-urlencoded : 表单默认的提交数据的格式 的时候。无论用get还是post都可以用@RequestParam接收,这属于简单的类型绑定。@ModelAttribute也可以处理,@RequestBody也能处理。当时提交方式为put时,只能用@RequestBody

当 multipart/form-data, 次类型多用来上传文件类型—只能使用使用@RequestParam。无论是get ,post, put,@RequestBody不能处理这种格式的数据。

当前台使用其他格式, 比如(其他格式包括application/json, application/xml等。这些格式的数据,无论get或者post,put必须使用@RequestBody来处理);

其实这个在之前的时候就记录过,但是平时也没注意到这个问题,直到昨天前端使用React框架传入后端的值为空,fetch对于请求接口都是使用的封装好的request,对于post请求统一都是application/json。
而我使用的是@RequestParam导致前端传值一直穿不过来,这个也可以要求前端修改数据传输格式,

参考博客: https://blog.csdn.net/qq_39584294/article/details/81232891

以上是关于@RequestBody和@RequestParam的应用场景的区分的主要内容,如果未能解决你的问题,请参考以下文章

@RequestBody 和 @RequestParam 有啥区别?

结合@PathVariable 和@RequestBody

@RequestBody 和 @GetMapping 不能同时使用

@RequestBody 和 @GetMapping 不能同时使用

@PathVariable注解和@RequestBody注解

Spring中的@RequestBody和@ResponseBody注解