天天看點

加不加@RequestParam的差別

以前沒有想過為什麼要加 @RequestParam,一般情況下,我是不加的,但是有時候,後端接收不到 前端傳來的參數時,我加上,有時問題會得到解決。

但是今天突然想知道為什麼要用它?

=======================================================================================

1.對于 @RequestParam,他有三個值,(當然不是每次全都用) value,required,defaultValue這三個值。

1.1 :value:是傳參的參數名稱,可以和參數一緻,也可以自定義,有時在某些條件下,方法名稱固定下來不可以修改了,但請求的參數又需要通過另外一個參數key名稱來傳遞,這樣就可以通過這樣的方式來實作。

1.2 :required:預設值為true,此時,必須要有參數,且不能為空(否則會報錯),但是可以顯示地定義為 false,此時參數可以為空。這樣就和不帶注解的效果一樣了(下面講)

1.3 :defaultValue:表示預設值的意思,如果你不傳參,那麼,此參數的值就是預設值。

=======================================================================================

2. 不加 @RequestParam的方式:也是我一般使用的方式,此時方法中有參數,通過浏覽器通路,不帶參數則擷取的參數值為null,但頁面可以正常顯示,請求可以正常的執行,帶上參數之後,參數可以正常的擷取

=======================================================================================

3.加 @RequestParam與 不加都可以擷取到參數,但特定的需求或限制的時候,就需要結合@RequestParam注解來使用了

總結:@RequestParam 不是必須要加,就看你的需求了。