Spring boot基于@Valid和@Validated验证List集合_我高考零分!的博客-优快云博客
使用场景
因为作为接口提供方,需要提供以List<E> 为请求参数的接口。
并且需要对列表的元素字段进行校验,例如非空等。
发现直接这样使用
public ResponseInfo xxx(@RequestBody @Validated List<E> list)
是不生效的。参数无法校验。
无论替换 @Validated 和 @Valid
甚至
public ResponseInfo xxx(@RequestBody List<@Valid E> list)
都使用过,依然无法生效
解决方案
@Validated
public class xxxController {
public ResponseInfo xxx(@RequestBody @Valid List<E> list){}
}
这样即可