JAX-RS-Kontextobjekte zum Abrufen weiterer Anforderungsinformationen verwenden
JAX-RS (Java API for RESTful Web Services) 2.0 stellt für Anwendungsunterklassen, Stammressourcenklassen und Provider verschiedene Kontexttypen bereit. Mit der Annotation @Context können Sie Kontextobjekte wie HttpHeaders, UriInfo und HttpServletRequest in Klassenfelder oder Methodenparameter von Anwendungsunterklassen, Stammressourcenklassen und Provider injizieren.
Informationen zu diesem Vorgang
Sie können die folgenden Kontextobjekte verwenden, die für Provider (Client und Server),
Ressourcenklassen (nur Server) und Anwendungsunterklassen (nur Server) verfügbar sind:
Kontextobjekt | Typ | Beschreibung |
---|---|---|
Application | Klasse | Die Instanz der von einer Anwendung bereitgestellten Unterklasse Application kann mit der Annotation
@Context in ein Klassenfeld oder einen Methodenparameter injiziert werden.
Dank des Zugriffs auf die Instanz der Unterklasse Application können Konfigurationsinformationen in dieser Klasse zentralisiert werden. Anmerkung: Diese Unterklasse Application kann nicht in die
Unterklasse
Application selbst injiziert werden, da dies eine Schleifenabhängigkeit erzeugen würde.
|
UriInfo | Schnittstelle | Die Schnittstelle UriInfo stellt pro Anforderung statische und dynamische Informationen zu den Komponenten einer Anforderungs-URI bereit. |
HttpHeaders | Schnittstelle | Die Schnittstelle HttpHeaders ermöglicht den Zugriff auf Anforderungsheaderinformationen in Form einer Übersicht oder über stark typisierte Methoden zur Vereinfachung. |
Request | Schnittstelle | Mithilfe der Schnittstelle Request kann der Aufrufende die am besten passende Darstellungsvariante bestimmen und feststellen, ob der aktuelle Status der Ressource Vorbedingungen in der Anforderung erfüllt. |
SecurityContext | Schnittstelle | Die Schnittstelle SecurityContext ermöglicht den Zugriff auf Informationen zum Sicherheitskontext der aktuellen Anforderung. |
Providers | Schnittstelle | Die Schnittstelle Providers ermöglicht die Suche nach Providerinstanzen anhand einer Reihe von Suchkriterien. |
ResourceContext | Schnittstelle | Die Schnittstelle ResourceContext ermöglicht den Zugriff auf die Instanziierung und Initialisierung von Ressourcenklassen oder untergeordneten Ressourcenklassen im Standardbereich (pro Anforderung). |
Configuration | Schnittstelle | Über @Context ist sowohl die Client- als auch die Serverlaufzeitkonfiguration zur Injektion verfügbar. Die Injektion dieser Konfigurationen ist für Provider (Client oder Server) und Ressourcenklassen (nur Server) möglich. |