@RequestParam 接收參數的值為null的處理方式
@RequestParam 接收參數的值為null
@RequestMapping(value = "/test") public String test( @RequestParam(value = "profit",required = false,defaultValue = "0") int profit){ System.out.println("profit:"+profit); return "success"; }
第一種處理方式(如上圖):defaultValue請求參數的默認值,一般和 required = false 一起使用
第二種處理方式:接收的參數如果是null的話,int就要改為Integer,Integer默認值為null
@RequestMapping(value = "/test") public String test(@RequestParam( @RequestParam(value = "profit",required = false) Integer profit){ System.out.println("profit:"+profit); return "success"; }
對於@RequestParam的一些小疑問
問題一
首先我在使用spring時一直使用@RequestParam來校驗參數是否為空,但是我想我對@RequestParam的用法產出瞭一些誤解。
簡單來說@RequestParam隻能驗證你有沒有傳這個參數,而不能驗證你傳的參數是否為空。
問題二
還有一個問題,有一次我寫一個代碼如下:method(@RequestParam User user),然後報錯如下:Required XXX parameter ‘xxx’ is not present
把@RequestParam刪除就行瞭
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- 淺談@RequestParam 參數是否必須傳的問題
- Spring Boot中@RequestParam參數的5種情況說明
- SpringMVC中請求參數的獲取方式
- 關於@RequestParam註解的使用(簡單易懂)
- SpringBoot獲取前臺參數的六種方式以及統一響應