@RequestParam (org.springframework.web.bind.annotation.RequestParam)用於將指定的請求參數賦值給方法中的形參。
有三個屬性:
(1)value:請求參數名(必須配置)
(2)required:是否必需,默認為 true,即 請求中必須包含該參數,如果沒有包含,將會拋出異常(可選配置)
(3)defaultValue:默認值,如果設置了該值,required 將自動設為 false,無論你是否配置了required,配置了什么值,都是 false(可選配置)
1為演示效果,首先需要創建一個測試控制類,然后創建一個測試方法,如圖所示,方法里添加一個參數,此時方法參數沒有添加注解
-
-
通過idea工具啟動web項目,然后通過瀏覽器訪問測試效果,不帶參數則獲取的參數為null,但頁面可以正常顯示,請求可以正常的執行。
-
下面來對比下添加注解的效果,但只是添加@RequestParam,沒有帶任何的注解設置參數。
-
再次通過瀏覽器訪問查看效果,此時帶上userName參數頁面可以正常顯示並打印出結果值,但如圖所示,不帶參數的時候,頁面報錯,返回400,並提示userName不存在
-
@RequestParam還可以在參數為空的情況下,為我們設置一個參數的默認值,如圖所示,可以看出來,沒有參數的情況下,獲取到的就是默認值
-
默認參數的key名稱是方法里的參數名稱,但通過@RequestParam可以自定義另外一個,因為在某些條件下,方法名稱固定下來不可以修改了,但請求的參數又需要通過另外一個參數key名稱來傳遞,這樣就可以通過這樣的方式來實現