【发布时间】:2021-03-31 20:39:26
【问题描述】:
我正在从 Spring 控制器进行请求参数验证。我有一个枚举验证器,类似于https://funofprograming.wordpress.com/2016/09/29/java-enum-validator/,如果枚举字段直接位于我用于验证的对象中,它可以正常工作。但如果该对象包含其他对象,则它不起作用。
例如这里是Controller中的请求
@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 模型有没有办法对对象进行深度验证?
【问题讨论】:
标签: spring spring-boot validation enums