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 を使用します