@RequestParam設置默認可以傳空值
設置如下
1
|
@RequestParam (value= "CbqkJson[]" ,required= false )String[] CbqkJson |
如果不設置空值,是默認必須傳值的。有時候沒值,前臺也無法傳個空的值過來時,就會出現無法進方法的情況。
注:參數名稱必須與value里面的完全一樣,包括那個[]。如果前臺用的框架傳數組沒有那個[],則可以取消掉[]改成"CbqkJson"
參數類型則是以后面定義的類型為主的,如果參數類型不是String[]而是String,那么value里面不管你寫什么,接收的都只會是一個字符串
使用RequestParam遇到的一些坑(總結)
@RequestParam有三個常用的注解
-
value
:表示前端傳到后端時,變量的名稱。(例如:前端傳到后端的參數:userName="Tom",那么@RequestParam(value = "userName") String xxx) -
required
:boolean類型,值為true/false。需要特別注意:required參數的意思其實更接近于在前端傳遞到后端的參數中,是否包含這個參數。什么意思呢?比如@RequestParam(value = "userName", required = true) String xxx),你傳userName=""是可以通過驗證的,即可以required = true并不杜絕傳遞空值,只是驗證傳遞的參數中是否含有userName。所以檢驗參數的合法性一般還需要自行處理。 -
defaultValue
:為參數賦一個默認值。 需要特別注意:如果設置了defaultValue,required設置將會失效,所以如果設置了defaultValue,就沒必要設置required了。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/cxy20170309/article/details/78281361