我正在从spring控制器执行请求参数验证。我有一个枚举验证器,类似于https://funofprograming.wordpress.com/2016/09/29/java-enum-validator/,如果enum字段直接位于我用于验证的对象中,则可以正常工作。但是,如果该对象包含其他对象,它就不起作用。
例如,这里是控制器中的请求
@PostMapping("/")
public ResponseEntity<?> performOperation(@Valid @RequestBody MyModel model) {
下面是我用来验证请求参数的模型
@ApiModel
public class MyModel {
@ApiModelProperty
@EnumValueValidator(enumClass = EnumName.class)
public String provider;
MyObject obj;
}
public class MyObject {
@EnumValueValidator(enumClass = SomeEnum.class)
public String anotherEnum;
}
在上面的例子中, provider
验证没有问题。但是 anotherEnum
不是。spring模型有没有办法对对象进行深入的验证?
1条答案
按热度按时间xlpyo6sf1#
你应该注解一下
MyObject obj
与@Valid
还有注解。请记住,空对象不会被验证,因此您可能应该同时执行以下两个操作: