WildFly RESTEasy で URL による MediaType の切り替え
WildFly 8.2 Final に載っている RESTEasy は 3.0.10.Final ですが、ドキュメントが 3.0.9.Final しか見つからないので 3.0.9 のドキュメントで紹介します。
Chapter 17. JAX-RS Content Negotiation
@Produces で複数の MediaType を指定しているときに、通常はリクエストヘッダーの Accept でどの MediaType を使うか指定出来ます。
ただヘッダーで指定するより、URL で指定出来た方が便利ですよね。
という訳でその設定方法です。
web.xml に これを追加するだけです。
例では json と xml を指定出来るようにしています。
<context-param> <param-name>resteasy.media.type.mappings</param-name> <param-value>json : application/json, xml : application/xml</param-value> </context-param>
使う方はこんな感じです。
/api/hoge.json /api/hoge.xml /api/hoge.json?q=abc
詳しくは公式のドキュメントを見て下さい。
お手軽 ですね!