home Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)

Java/JAX-RS/Bean Validation 勉強メモ

作成日: 2014-05-06 23:29:46   /   last updated at: 2014-05-06 23:31:06
カテゴリ: Java 

JAX-RS 2.0 における、Bean Validation 1.1 の仕様、使い方イロハ、validationエラーの出力のカスタマイズの仕方などの勉強メモ。

Jersey:

RESTEasy:

Bean Validationでのエラーメッセージの国際化:

JerseyでのValidationエラー出力のカスタマイズ:

RESTEasyでのValidationエラー出力のカスタマイズ:

→Jerseyも、RESTEasyも、そして結局はJAX-RS 2.0の仕様として、ExceptionMapperで javax.validation.ValidationException か javax.validation.ConstraintViolationException をカスタマイズすればOKっぽい。
なお、ConstraintViolationException は ValidateException から派生しているが、以下のような区別があるらしい。

  • ConstraintViolationException はあくまでもvalidationとしてチェックエラーになった場合の例外。
  • ConstraintViolationException 「以外の」ValidationException およびその派生クラスは、そもそもvalidation処理の途中で、アノテーションが間違ってたりするなど、何かランタイムで不測事態が発生した場合の例外。

正確なところは JAX-RS 2.0 の最終仕様の、"7.6 Validation and Error Reporting" を参照。

その他参考記事:


original url: https://www.glamenv-septzen.net/view/1288