1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JerseyでHttpServletRequestなどのコンテキスト情報を得る

Last updated at Posted at 2020-04-14

Jersey+SpringFrameworkでRESTFulAPIを実装していて、以下の情報が必要になりました。

  • HttpServletRequest
  • HttpServletResponse

その方法を調べたので覚え書き。

環境など

ツールなど バージョンなど
MacbookPro macOS Mojave 10.14.5
IntelliJ IDEA Ultimate 2019.3.3
Java AdoptOpenJDK 11
apache maven 3.6.3
Jersey 2.30.1
JUnit 5.6.0
Tomcat apache-tomcat-8.5.51
Postman 7.19.1
Spring Framework 5.2.4-RELEASE

取得方法

@Contextをつけてメンバー変数に宣言するだけ。

@Service
@Path("/my")
class MyResourceApi{
    @Context
    HttpServletRequest httpServletRequest;

    @Context
    HttpServletResponse httpServletResponse;
}

これ以外のコンテキスト関係の情報は、どれも同じようにして取得可能かと思われます。

もうちょっと詳しく

これは、Jerseyのそのものの機能というより、Jerseyがversion2から組み込んでいるHK2というアノテーションベースでのDI機能のおかげのようです。

詳しくはこちらで。

HK2
https://javaee.github.io/hk2/introduction.html

Jersey2に組み込まれてるDI機能(HK2)を試す
https://qiita.com/opengl-8080/items/9bdc98aa5269512bd70e

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?