With @Valid
我们可以解析请求正文并使用注释对其进行验证,例如@NotEmpty
, @Size(min = 5)
。有没有一种方法可以有多种方法来验证身体?例如,在某些端点上,我想忽略一些验证器(@NotNull
就我而言)。
我的猜测是创建一个自定义注释,例如@ValidUnlessNull
,但是我怎样才能实现它的解析器而不必做以下工作@RequestBody
(我试图实现一个Filter
and a HandlerMethodArgumentResolver
)?
您可以定义自定义验证组并选择任何组@Validated
注解。
1) 定义空接口,将用作验证组标识符:
public interface FirstValidateGroup{}
2)给指定接口(组)绑定验证注解:
public class Person{
@NotBlank(groups = {FirstValidateGroup.class})
private String firstName;
@NotBlank
private String lastName;
//... getters and setters
}
请注意,您可以为一个属性绑定多个组。
3)选择验证组@Validated
注解:
public ResponseEntity<Person> add(@Validated({FirstValidateGroup.class})
@RequestBody Person person){
...
}
现在只firstName
属性将被验证。您可以在中指定多个组@Validated
注解。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)