@valid或者@validated怎么验证list中的元素

我想用@valid校验一个请求的参数,发现如果是list或者是数组,就会不校验里面的元素,如下。如果不是list或者数组,就可以。

@RequestMapping(method = RequestMethod.POST, value = "/helloBean")
public String helloBean(@RequestBody @Validated List<User> u) {
    System.out.println("id是---"+u.get(0).getId());
    System.out.println("name是---"+u.get(0).getName());
    System.out.println("email是---"+u.get(0).getEmail());
    /*System.out.println("=======================");
    System.out.println(ValidatorUtil.validate(u));
    System.out.println("=======================");*/

    return"Hello Bean!";
}

查了网上,发现@Valid只有在这个注解写在成员变量上,才会去llist里面校验,比如
@Valid
private User u;

后来自己自定义一个注解,发现其对list根本不起作用,求解

自己解决了,在类上增加 @Validated 注解,向我上面这段代码,只要在controller类头上加个注解就行了,如下

@RestController
@Validated
public class TodoController {
    ......
}

用@Valid 然后再User中给属性加注解就可以了