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方式,並且支持多個對象的綁定。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章