【发布时间】:2013-03-04 00:53:07
【问题描述】:
我有一个像这样的豆子:
@Data
public static class ClassUnderTest {
@NotNull
private String field1;
@NotNull
@Since(2.0)
private String field2;
@NotNull
@Until(3.0)
private String field3;
}
@Since 和 @Until 是 Gson 注释,允许避免序列化/反序列化我的 REST API 上的某些字段,对于某些 API 版本。
我对此 API 的输入负载执行 bean 验证以引发约束违规。 根据 Gson 注释(而不是组!),我希望能够不针对每个版本提出相同的违规行为。
有没有办法从ConstraintViolation<T> 获取产生违规的Member(如Method / Field),以便我检查它是否被注释?
有没有办法使用 Bean Validation 处理验证版本控制?
我唯一的解决方案似乎是从路径 (getPropertyPath) 中检索该成员,但这似乎并不容易......
【问题讨论】:
标签: java api rest bean-validation