home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

Java/JAX-RS/Jerseyメモ

Java/JAX-RS/Jerseyメモ

Java / JAX-RS / Jerseyメモ
id: 1300 所有者: msakamoto-sf    作成日: 2014-07-27 19:47:00
カテゴリ: JAX-RS Java Jersey 

Jerseyの勉強メモ。
JAX-RSレベルで規定されている仕様については Java/JAX-RS/勉強メモ(JAX-RS 2.0) も参照。

  • Jersey
    • https://jersey.java.net/
      • GlassFish プロジェクトでも使われてる、Sunマイクロシステムズ時代からのJAX-RSのリファレンス実装。ライセンスはCDDLv1.1とGPLv2のデュアルライセンス。

練習サンプル:

Jerseyを使ったREST APIサーバとクライアントを作成するチュートリアル

"Content-Disposition: attachment" でファイルをダウンロードさせたい

StreamingObjectクラスをimplementしてResponseのentityにセットする。

参考サイト:

HttpServletResponseを直接参照・操作する→あんまりオススメできないかも。

JAX-RS 2.0の仕様としてはHttpServletResponseを直接参照、操作することも可能だが、副作用の発生する操作の組み合わせによっては期待通りに動かないケースも。

  • java - HTTPServletResponse status code is not in HTTP response header - Stack Overflow
    • http://stackoverflow.com/questions/11671190/httpservletresponse-status-code-is-not-in-http-response-header
      • 「HttpServletResponse.setStatus()したのが反映されない、なんで!?」に対して、HttpServletResponseでデータの出力まではしてないため、JAX-RS側でリソースクラスが本当にServletResponseを触ったのかどうか分からず、リソースクラスのメソッドもStringを通常通り返しているため、JAX-RS側としては200を返すしか無い、とのこと。解決方法として、ステータスコードを指定できるWebApplicationException()をthrowする方法がアドバイスされている。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2014-07-27 20:31:43
md5:40e3490194855f8bcf51750b72bb6e0f
sha1:60b3e71a582ed6a36aa465802fbf54a053ced3d2
コメント
コメントを投稿するにはログインして下さい。