Validated参数校验 List

接口入参需要各种校验,springboot里的validate非常好用


    org.springframework.boot
    spring-boot-starter-validation

但是之前写的一个接口参数校验没问题,后来突然不生效了。

接口入参是 List ,实体类属性已经加了各种规则,入参前也加了 @Valid ,controller类前也加了 @Validated,之前是访问接口,传递参数是 [{}] ,(list里有一个对象,但是对象是空)会校验属性值。后来突然不校验了,失效了。

失效时参数是 [] ,(list里没有对象,list空)这时就不会校验实体类的属性了,好像是注解失效了,网上查了很多博客,说的最多的也是CV最多的都让新写一个类

public class ValidList implements List {

    @Valid

    private List list = new LinkedList<>();

    //其他内容省略

}

​​​​​​​

但是完全不解决问题啊!!!本身就是空集合了,肯定不会去校验里面的属性了!!!

这时只需要给接口参数再加一个 @NotEmpty 注解,就可以完美解决了,参数空集合,实体类的属性校验都搞定了。

你可能感兴趣的:(java,list,spring,boot)