在開發時發現,@validated只能驗證單個實體類,在驗證list集合時則不生效
public apiresult getrepaymentplan(@requestbody @validated listrepaymentplanvos)
經過查資料得知,@valid是
可以使用的,我們自定義乙個validlist類來替換list就可以達到驗證的目的,話不多說,直接看**
public class validlistimplements list
@override
public boolean isempty()
@override
public boolean contains(object o)
@override
public iteratoriterator()
@override
public object toarray()
@override
public t toarray(t a)
@override
public boolean add(e e)
@override
public boolean remove(object o)
@override
public boolean containsall(collection<?> c)
@override
public boolean addall(collection<? extends e> c)
@override
public boolean addall(int index, collection<? extends e> c)
@override
public boolean removeall(collection<?> c)
@override
public boolean retainall(collection<?> c)
@override
public void clear()
@override
public e get(int index)
@override
public e set(int index, e element)
@override
public void add(int index, e element)
@override
public e remove(int index)
@override
public int indexof(object o)
@override
public int lastindexof(object o)
@override
public listiteratorlistiterator()
@override
public listiteratorlistiterator(int index)
@override
public listsublist(int fromindex, int toindex)
public listgetlist()
public void setlist(listlist)
}
然後用validlist類替換我們的list即可
public apiresult getrepaymentplan(@requestbody @validated validlistrepaymentplanvos)
補充,將@validated返回的異常替換為我們自定義的json格式並返回,只需在當前controller類裡注入乙個異常bean,並用@exceptionhandler來捕獲對應的異常即可。methodargumentnotvalidexception為@validated返回的異常,這裡只需要捕獲對應異常即可
@exceptionhandler(value = methodargumentnotvalidexception.class)
@responsebody
public mapallexceptionhandler(methodargumentnotvalidexception e)
fielderror error = bindingresult.getfielderrors().get(i);
} result.put("res_code","400");
result.put("res_mess",errmsg.tostring());
return result;
}
Validated註解校驗
最近新專案是使用hibernate validator做表單驗證,遇到有id在更新時不能為空,而在新增時需要為空的情況,所有使用了group屬性來指定在什麼情況下使用哪個驗證規則,而在controller方法只使用 validated 來分組驗證 public apiresponsecreateus...
資料校驗 validated註解
使用方法 建立實體bean data public class oprstadelayfeeupdparam extends baseparam 建立controller responseresult updatedelayfeeinfo requestbody validated oprstade...
利用 Validated註解校驗引數
validated註解的使用 value updateclew method requestmethod.post apioperation value 修改線索內容 notes 修改線索內容 public result updatetwmclew validated requestbody api...