spring注解 @Valid 的作用說明
spring注解 @Valid 的作用
在controller中的方法上面寫有注解@Valid UserRequest 的作用。

備注:這里一個(gè)@Valid的參數(shù)后必須緊挨著一個(gè)BindingResult 參數(shù),否則spring會(huì)在校驗(yàn)不通過時(shí)直接拋出異常,BindingResult是springmvc的一個(gè)驗(yàn)證框架。
是對該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è)請求
@RequestMapping(path = {"/ValidTest"})
public String Valid(@Valid @RequestBody UserRequest userRequest) {
System.out.println(userRequest);
return "valid test";
}實(shí)驗(yàn)測試

可以看到類NewUser里面的@NotEmpty并未生效。
修改UserRequest(對users加入@Valid)
@Data
public class UserRequest {
@NotEmpty
private String groupName;
@Valid
private List<NewUser> users;
}再次發(fā)送請求

可以看到Valid生效,此時(shí)加上name的值

綜上,@Valid 作用的類中有其他類時(shí),需要逐層加上@Valid
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mybatis中orderBy(排序字段)和sort(排序方式)引起的bug及解決
這篇文章主要介紹了mybatis中orderBy(排序字段)和sort(排序方式)引起的bug,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
使用Mybatis-Plus時(shí)的SqlSessionFactory問題及處理
這篇文章主要介紹了使用Mybatis-Plus時(shí)的SqlSessionFactory問題及處理方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(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集群問題
這篇文章主要介紹了IDEA創(chuàng)建spark maven項(xiàng)目并連接遠(yuǎn)程spark集群,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08
Java concurrency之公平鎖(一)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了Java concurrency之公平鎖的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06

