如果参数无效,如何使用 JSR-303 验证方法参数并抛出异常?
例如像这样:public void createUser(@ValidOrThrowException User user) {...}
?
现在,我检查方法体中的每个方法参数,比如
public void createUser(User user) {
ConstraintViolations violations = Validator.validate(user);
if (!violations.isEmpty()) {
throw new IllegalArgumentException(createExceptionMessage(violations ));
}
...//business logic
}
我认为这很丑陋。
PS 作为参考实现,我使用 Hibernate-validator 4.1.0.Final