spring注解 @Valid 的作用說(shuō)明
spring注解 @Valid 的作用
在controller中的方法上面寫有注解@Valid UserRequest 的作用。
備注:這里一個(gè)@Valid的參數(shù)后必須緊挨著一個(gè)BindingResult 參數(shù),否則spring會(huì)在校驗(yàn)不通過(guò)時(shí)直接拋出異常,BindingResult是springmvc的一個(gè)驗(yàn)證框架。
是對(duì)該UserRequest 實(shí)體進(jìn)行校驗(yàn),
在userRequest類中的屬性上使用spring的注解
spring注解 @Valid 作用范圍
@Valid只作用于當(dāng)前類的基本類型,不能作用引用類型
建立兩個(gè)基本類
@Data @AllArgsConstructor @NoArgsConstructor public class NewUser { @NotEmpty private String name; @NotEmpty private String password; }
@Data public class UserRequest { @NotEmpty private String groupName; private List<NewUser> users; }
建立一個(gè)請(qǐng)求
@RequestMapping(path = {"/ValidTest"}) public String Valid(@Valid @RequestBody UserRequest userRequest) { System.out.println(userRequest); return "valid test"; }
實(shí)驗(yàn)測(cè)試
可以看到類NewUser里面的@NotEmpty并未生效。
修改UserRequest(對(duì)users加入@Valid)
@Data public class UserRequest { @NotEmpty private String groupName; @Valid private List<NewUser> users; }
再次發(fā)送請(qǐng)求
可以看到Valid生效,此時(shí)加上name的值
綜上,@Valid 作用的類中有其他類時(shí),需要逐層加上@Valid
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mybatis中orderBy(排序字段)和sort(排序方式)引起的bug及解決
這篇文章主要介紹了mybatis中orderBy(排序字段)和sort(排序方式)引起的bug,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01使用Mybatis-Plus時(shí)的SqlSessionFactory問(wèn)題及處理
這篇文章主要介紹了使用Mybatis-Plus時(shí)的SqlSessionFactory問(wèn)題及處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12詳解PipedInputStream和PipedOutputStream_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了管道PipedInputStream和PipedOutputStream,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05關(guān)于IDEA創(chuàng)建spark maven項(xiàng)目并連接遠(yuǎn)程spark集群?jiǎn)栴}
這篇文章主要介紹了IDEA創(chuàng)建spark maven項(xiàng)目并連接遠(yuǎn)程spark集群,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08Java concurrency之公平鎖(一)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了Java concurrency之公平鎖的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06