seratch's weblog in Japanese

About Scala, Java and Ruby programming in Japaense. If you need English information, go to http://blog.seratch.net/

Jersey(JAX-RS) で Form オブジェクトを Resource クラスのメソッド内以外で触る方法

Jersey で POST リクエストなどの Form オブジェクトを Resource クラスのメソッド内以外の場所で触る方法はない・・と諦めていましたが ContainerRequestFilter と ThreadLocal 使って試してみたらうまくいきました。

ちなみに、Jersey が動くより前に独自の ServletFilter でひっこぬいてどっかに保存しておく、というのを以前私はやったことがあるのですが、これはご法度なのでご注意を。
warning ログで警告メッセージも出ますし、実際パラメータの日本語が文字化けてしまうなどの影響が出ます。

https://gist.github.com/2233069