#navi_header|Java| JAX-RS 2.0 における、Bean Validation 1.1 の仕様、使い方イロハ、validationエラーの出力のカスタマイズの仕方などの勉強メモ。 - The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 349 -- https://jcp.org/en/jsr/detail?id=349 - Hibernate Validator - Hibernate Validator -- http://hibernate.org/validator/ --- Bean Validation の参照実装 - Bean Validation: Bean Validation 1.1 Specification -- http://beanvalidation.org/1.1/ #more|| - 私のBeanValidationの使い方(Java EE Advent Calendar 2013) — 裏紙 -- http://backpaper0.github.io/2013/12/03/javaee_advent_calendar_2013.html --- 2つ以上のパラメータの関係性をチェックする必要がある場合の参考(例:年月日のfrom - to の大小関係) - BeanValidationの組み込みアノテーション - シュンツのつまづき日記 -- http://d.hatena.ne.jp/gloryof/20130929/1380433213 - JSR 303 Bean Validationで遊んでみるよ! - Yamkazu's Blog -- http://yamkazu.hatenablog.com/entry/20110206/1296985545 --- 一つ古いバージョンになるが、色々検証してくれてて参考になる。 Jersey: - Chapter 17. Bean Validation Support -- https://jersey.java.net/documentation/latest/bean-validation.html - https://github.com/jersey/jersey/tree/2.8/examples/bean-validation-webapp RESTEasy: - Chapter 51. Validation -- http://docs.jboss.org/resteasy/docs/3.0.7.Final/userguide/html/Validation.html Bean Validationでのエラーメッセージの国際化: - JAX-RS Bean Validation Error Message Internationalization | Java Code Geeks -- http://www.javacodegeeks.com/2012/12/jax-rs-bean-validation-error-message-internationalization.html JerseyでのValidationエラー出力のカスタマイズ: - java ee - Binding JAX-RS bean validation error messages to the view - Stack Overflow -- http://stackoverflow.com/questions/18015630/binding-jax-rs-bean-validation-error-messages-to-the-view - Handling JAX-RS and Bean Validation Errors with MVC | tl;dr -- http://blog.dejavu.sk/2014/01/28/handling-jax-rs-and-bean-validation-errors-with-mvc/ RESTEasyでのValidationエラー出力のカスタマイズ: - java - How to catch RESTEasy Bean Validation Errors? - Stack Overflow -- http://stackoverflow.com/questions/10516516/how-to-catch-resteasy-bean-validation-errors - java - RestEasy - Parameters Binding - Validation and Errors - EJB - Stack Overflow -- http://stackoverflow.com/questions/17435544/resteasy-parameters-binding-validation-and-errors-ejb - RESTEasy bean validation using hibernate validator provider | How To Do In Java -- http://howtodoinjava.com/2013/05/30/resteasy-bean-validation-using-hibernate-validator-provider/ - Exception handling in JAX-RS RESTEasy with ExceptionMapper | How To Do In Java -- http://howtodoinjava.com/2013/06/03/exception-handling-in-jax-rs-resteasy-with-exceptionmapper/ →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" を参照。 その他参考記事: - JAX-RS and Bean Validation | Java.net -- https://weblogs.java.net/blog/bhaktimehta/archive/2013/10/30/jax-rs-and-bean-validation - Java Advent Calendar: Integrating Bean Validation with JAX-RS in Java EE 6 -- http://www.javaadvent.com/2012/12/jax-rs-bean-validation-error-message-internationalization.html #navi_footer|Java|