您好,登錄后才能下訂單哦!
本篇內容介紹了“分析@RequestParam(required = true)的誤區”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
required = true是在前端沒有傳參數的時候報錯,并不能防止參數為空。
考慮一下代碼:
@GetMapping("/userInfo") public void userInfo(@RequestParam(required = true) Integer id) { ... }
如果請求如下就會報400錯誤:
http://localhost:8088/userInfo
但構造以下請求,可以使id為空:
http://localhost:8088/userInfo?id=
required=true
表示前端必須傳參數。
required=false
表示前端不傳參數的時候,會將參數置為null。因此假如參數是int這種不能賦值為null的類型,就可能會報錯。
使用了defaultValue,required只能為false,前端不傳參數時會將參數置為defaultValue。
@RequestParam(required=false int id)
:required=false說明了可以不傳值,如果是
// 注意現在是String類型的id @RequestParam(required=false Sting id)
這種不傳值就不會報錯
但如果是標題上寫的int類型這種
@RequestParam(required=false int id)
就會報錯,因為null不能賦給int。
“分析@RequestParam(required = true)的誤區”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。