@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。

推薦閱讀: