[JAVA] Obtenez des informations contextuelles telles que HttpServletRequest dans Jersey

Implémentation de l'API RESTFul dans Jersey + Spring Framework, j'avais besoin des informations suivantes.

J'ai vérifié la méthode, alors je l'ai écrite.

Environnement etc.

Outils etc. Version etc.
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

Méthode d'acquisition

Ajoutez simplement @ Context et déclarez-le dans la variable membre.

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

    @Context
    HttpServletResponse httpServletResponse;
}

Il semble que toutes les autres informations liées au contexte peuvent être obtenues de la même manière.

Un peu plus de détails

Cela semble être dû à la fonction DI basée sur les annotations HK2 que Jersey a intégrée à partir de la version 2 plutôt qu'à la fonction de Jersey elle-même.

Pour plus de détails, ici.

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

Essayez la fonction DI (HK2) intégrée à Jersey2 https://qiita.com/opengl-8080/items/9bdc98aa5269512bd70e

Recommended Posts

Obtenez des informations contextuelles telles que HttpServletRequest dans Jersey
Obtenir des informations EXIF en Java
Bibliothèque "OSHI" pour acquérir des informations système avec Java
Gérer les pointeurs tels que UnsafePointer <T> dans Swift
Comment obtenir des informations sur les tables associées dans les tables plusieurs-à-plusieurs
Obtenez des informations de localisation avec Rails et triez par ordre croissant