Jas*_*lio 35 java jax-rs jersey bean-validation
我正在验证Jersey中REST资源端点中的POJO:
public class Resource {
@POST
public Response post(@NotNull @Valid final POJO pojo) {
...
}
}
public class POJO {
@NotNull
protected final String name;
@NotNull
@Valid
protected final POJOInner inner;
...
}
public class POJOInner {
@Min(0)
protected final int limit;
...
}
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常.
但是,@Min(0)仅当字段inner具有@Valid注释时才会验证注释.将@Valid注释添加到不是基元的每个字段是不正确的.
有没有办法告诉bean验证器自动递归继续验证,即使没有@Valid注释?我希望我POJO如下:
public class POJO {
@NotNull
protected final String name;
@NotNull
protected final POJOInner inner;
...
}
Run Code Online (Sandbox Code Playgroud)
Erw*_*ier 24
实际上,根据规范,添加@Valid正是这个用例.来自JSR 303规范:
除了支持实例验证之外,还支持对象图的验证.图验证的结果作为一组统一的约束违规返回.考虑bean X包含Y类型字段的情况.通过使用@Valid注释注释字段Y,Validator将在验证X时验证Y(及其属性).
...
@Valid注释以递归方式应用
| 归档时间: |
|
| 查看次数: |
8092 次 |
| 最近记录: |