1

JAX-RS サービスを作成しました。POSTリクエストを介してjsonを消費/生成します。Bean の検証以外はすべて正常に動作します

javax.validation.constraints要求/応答メッセージのラッパーとして使用される POJO のフィールドに、パッケージからいくつかの制約を追加しました。(POJO には、JAXB @XmlRootElement などの他の注釈はありません)

サービスを呼び出そうとすると、機能しますが、制約は完全に無視されます。つまり、正しいパラメーターまたは間違ったパラメーターを使用してサービスを呼び出し、呼び出しはどちらの場合も RAX-RS レイヤーを EJB に渡します。

何を見逃す可能性がありますか?いくつかの特別な構成、いくつかの特別な依存関係?

PS私は提供されたJersey 2.0でglassfish 4.0を使用します

4

1 に答える 1

1

Bean 検証を呼び出すには、クラスパスにバリデーターが必要です。一般的に使用されるバリデーターはhibernate-validator、参照実装であるためです。

http://www.hibernate.org/subprojects/validator.html

クラスパスにバリデータがあると、JSR-303 アノテーションが検出されたときにバリデータが検出され、呼び出されます。

于 2013-09-10T23:23:18.070 に答える