GET请求使用@RequestBody的正确姿势

1、场景和原因

在实际的业务场景中,很可能需要使用@RequestBody来绑定GET请求参数。

但是由于GET的参数是通过Url方式传递的,而不是请求体传递的所以无法通过@RequestBody注解来接收。

https://stackoverflow.com/questions/34956899/does-spring-requestbody-support-the-get-method

其实从注解的英文单词上也很容易理解@RequestBody显然是用来接收请求体的,GET没有,显然就接不到。

@RequestParam的意思是请求参数,不管是GET还是POST参数都可以接收到。

 

2、解决方案

如果想绑定到复杂对象上,可以将GET转为POST方式。

也可以通过多个@RequestParam接收后组装成对象。

 

还有一个解决方案是我的另外一篇文章“SpringBoot Controller 中使用多个@RequestBody的正确姿势”

不仅支持GET和POST方式,并且支持多个对象的绑定。

 

 

 

你可能感兴趣的:(Java基础,问题积累,通用方案)