将Pojo.name的验证规则添加到扩展Pojo的对象?

时间:2014-02-22 12:42:27

标签: java jersey bean-validation hibernate-validator

我有一个简单的java pojo,我给了我的Android用户:

@XmlRootElement
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class PostAccount {
    @Getter
    @Setter
    private String email;
    @Getter
    @Setter
    private String pass1;
    @Getter
    @Setter
    private String pass2;
}

这个pojo被序列化为json并发送到我的服务器。在我的服务器上我使用泽西豆验证:

public NumberResult add(@Valid ValidAccount account) {

但是因为Account pojo没有任何验证注释,验证不会做太多。

我可以使用验证注释创建第二个pojo并在服务器端使用它:

public class ValidAccount {

    @Getter
    @Setter
    @NotEmpty
    @CheckEmail
    private String email;
    @Getter
    @Setter
    @NotBlank
    private String pass1;
    @Getter
    @Setter
    @NotBlank
    private String pass2;
}

完美无缺。

但是当我现在在Account pojo中添加一个字段时,我必须记得更改ValidAccount pojo。没问题,但是当你有很多pojo时,事情变得复杂起来。

有更好的解决方案吗?

例如,是否可以扩展Account pojo并以某种方式添加验证规则? (请我继续使用注释,xml给我毛骨悚然)

0 个答案:

没有答案