spring注解 @Valid 的作用说明

 更新时间:2022年01月26日 11:24:14   作者:小馒头1  
这篇文章主要介绍了spring注解 @Valid 的作用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

spring注解 @Valid 的作用

在controller中的方法上面写有注解@Valid UserRequest 的作用。

备注:这里一个@Valid的参数后必须紧挨着一个BindingResult 参数,否则spring会在校验不通过时直接抛出异常,BindingResult是springmvc的一个验证框架。

是对该UserRequest 实体进行校验,

在userRequest类中的属性上使用spring的注解

spring注解 @Valid 作用范围

@Valid只作用于当前类的基本类型,不能作用引用类型

建立两个基本类

@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;
}

建立一个请求

    @RequestMapping(path = {"/ValidTest"})
    public String Valid(@Valid @RequestBody UserRequest userRequest) {
        System.out.println(userRequest);
        return "valid test";
    }

实验测试

可以看到类NewUser里面的@NotEmpty并未生效。

修改UserRequest(对users加入@Valid)

@Data
public class UserRequest {
    @NotEmpty
    private String groupName;
    @Valid
    private List<NewUser> users;
}

再次发送请求

可以看到Valid生效,此时加上name的值

综上,@Valid 作用的类中有其他类时,需要逐层加上@Valid

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 利用Spring JPA中的@Version注解实现乐观锁

    利用Spring JPA中的@Version注解实现乐观锁

    乐观锁是数据库和应用程序中使用的一种并发控制策略,用于在多个事务尝试更新单个记录时确保数据完整性,Java Persistence API (JPA) 提供了一种借助@Version注解在 Java 应用程序中实现乐观锁的机制,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2023-11-11
  • springboot+thymeleaf+layui的实现示例

    springboot+thymeleaf+layui的实现示例

    本文主要介绍了springboot+thymeleaf+layui的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • SpringBoot中的自动配置原理详解

    SpringBoot中的自动配置原理详解

    这篇文章主要介绍了SpringBoot中的自动配置原理详解,springboot的自动配置类直观的表现就是通过一系列的注解,使得springboot项目在启动的时候从配置文件中加载需要自动配置的类,注入容器中,需要的朋友可以参考下
    2024-01-01
  • jquery对输入框内容的数字校验代码实例

    jquery对输入框内容的数字校验代码实例

    这篇文章主要介绍了jquery对输入框内容的数字校验代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • JDK1.8使用的垃圾回收器和执行GC的时长以及GC的频率方式

    JDK1.8使用的垃圾回收器和执行GC的时长以及GC的频率方式

    这篇文章主要介绍了JDK1.8使用的垃圾回收器和执行GC的时长以及GC的频率方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 初识Java8中的Stream

    初识Java8中的Stream

    lambda表达式是stream的基础,接下来通过实例代码给大家详细介绍java8中的stream,感兴趣的朋友一起看看吧
    2017-08-08
  • SpringSecurity Web权限方案实现全过程

    SpringSecurity Web权限方案实现全过程

    Spring Security是一个功能强大且高度可定制的身份验证和授权框架,专门用于保护Java应用程序的Web集成,下面这篇文章主要给大家介绍了关于SpringSecurity Web权限方案实现的相关资料,需要的朋友可以参考下
    2024-01-01
  • Spring cloud Feign 深度学习与应用详解

    Spring cloud Feign 深度学习与应用详解

    这篇文章主要介绍了Spring cloud Feign 深度学习与应用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • java 1.8 动态代理源码深度分析

    java 1.8 动态代理源码深度分析

    下面小编就为大家带来一篇java 1.8 动态代理源码深度分析。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 深入理解Spring的事务传播行为

    深入理解Spring的事务传播行为

    spring特有的事务传播行为,spring支持7种事务传播行为,确定客户端和被调用端的事务边界(说得通俗一点就是多个具有事务控制的service的相互调用时所形成的复杂的事务边界控制),这篇文章主要给大家介绍了关于Spring事务传播行为的相关资料,需要的朋友可以参考下。
    2018-02-02

最新评论