私は Bean Validation で JAX-RS リソースを使用しており、これら 2 つの機能が期待どおりに統合されています。
ただし、検証エラーの場合に生成されるデフォルトのエラー メッセージは、次のようにパラメータ名を arg0 として報告します。
[PARAMETER]
[login.arg0.password]
[password is required]
[]
対応するメソッド定義:
@POST //and other JAX-RS annotations
public Response login(
@NotNull
@Valid
LoginBody loginBody) {
[...]
protected static class LoginBody {
@NotNull(message = EMAIL_REQUIRED)
public String email;
@NotNull(message = PASSWORD_REQUIRED)
public String password;
}
私は通常、このメッセージ パターンに問題はありませんが、実際に厄介なのは、元のパラメーター名が認識されないという事実です。
ログインする。arg0の代わりにloginBody .password 。
これを修正する簡単な方法はありますか。たとえば、そのパラメータに明示的な名前を付けるなどです。
WildFly Swarm 2017.6.0 を使用しています。私が発見したことから、これは私がresteasy + resteasy-validator + hibernate-validatorを持っていることを意味します
ありがとう。