[JAVA] Erhalten Sie Kontextinformationen wie HttpServletRequest in Jersey

Implementierung der RESTFul-API in Jersey + Spring Framework, ich benötigte die folgenden Informationen.

Ich habe die Methode überprüft und sie aufgeschrieben.

Umwelt etc.

Werkzeuge 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

Erfassungsmethode

Fügen Sie einfach "@ Context" hinzu und deklarieren Sie es in der Mitgliedsvariablen.

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

    @Context
    HttpServletResponse httpServletResponse;
}

Es scheint, dass alle anderen kontextbezogenen Informationen auf die gleiche Weise erhalten werden können.

Ein bisschen mehr Detail

Dies scheint auf die annotationsbasierte DI-Funktion HK2 zurückzuführen zu sein, die Jersey ab Version 2 eingebaut hat, und nicht auf die Funktion von Jersey selbst.

Weitere Details finden Sie hier.

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

Probieren Sie die in Jersey2 integrierte DI-Funktion (HK2) aus https://qiita.com/opengl-8080/items/9bdc98aa5269512bd70e

Recommended Posts

Erhalten Sie Kontextinformationen wie HttpServletRequest in Jersey
Holen Sie sich EXIF-Informationen in Java
Bibliothek "OSHI" zum Erfassen von Systeminformationen mit Java
Behandeln Sie Zeiger wie UnsafePointer <T> in Swift
So erhalten Sie Informationen zu zugeordneten Tabellen in vielen-zu-vielen-Tabellen
Holen Sie sich Standortinformationen mit Rails und sortieren Sie in aufsteigender Reihenfolge