我有一个pojo,这对于多种服务是通用的,并且每个服务都有针对该对象的不同验证规则。因此,我在每个服务中都扩展了该pojo,并覆盖了一些设置方法,并对那些被覆盖的方法进行了约束验证。 pojo是通过REST调用从提交的json构建的。杰克逊是应该调用二传手的库。
@JsonSetter("name")
public void setName(@Length(min = 1, max = 50) @NotBlank String name) {
this.name = name;
}
这是我的REST方法声明:
public ResponseEntity<?> createEntity(@Valid @RequestBody EntityDTO entity) {
似乎验证不适用于Jackson,因为我看到其他方法调用了validateParameters
的{{1}}方法。
这就是我的org.hibernate.validator.internal.engine.ValidatorImpl
bean的样子:
ValidationConfiguration
我还对请求参数进行了一些验证,并且效果很好。但是,此设置不适用于此设置器。
答案 0 :(得分:0)
我无法在setter上使用它,但是,很奇怪的是,对getter进行了验证。即使没有明确调用吸气剂。似乎与杰克逊有关?
@Override
@Length(min = 1, max = 50)
@NotBlank
public String getName() {
return super.getName();
}