Ich habe einen RESEasy (JAX-RS) -Server mit ca. 60 Diensten (bisher). Ich möchte automatisch einen benutzerdefinierten Antwortheader für Provider-Anrufer mit der Server-Build-Zeit einfügen: X-BuildTime: 20100335.1130
.
Gibt es eine einfache Möglichkeit, dies zu tun, ohne jeden meiner Dienste zu ändern?
Ich versuche eine Klasse zu verwenden, die org.jboss.resteasy.spi.interception.PostProcessInterceptor
mit den Annotationen @Provider
und @ServerInterceptor
implementiert, aber ich kann nicht herausfinden, wie ich die ServerResponse modifizieren kann, die an meine postProcess()
Methode übergeben wird.
Obwohl MessageBodyWriterInterceptor
den Trick macht, ist es besser, PostProcessInterceptor
zu verwenden, da es Antworten abfängt, die MessageBodyWriters nicht aufrufen (z. B. Response.created(URI.create("/rest/justcreated")).build()
).
Weitere Informationen finden Sie in der offiziellen Dokumentation .
%Vor%Sie können den Header auch über MessageBodyInterceptors ändern
(siehe das Beispiel am Ende von Abschnitt 30.1)
%Vor%Wie wäre es mit javax.ws.rs.core.Response; Auf diese Weise können Sie die Kopfzeile an der Stelle festlegen, an der Sie die Antwortdaten erstellt haben.
%Vor%Tags und Links jax-rs web-services http-headers resteasy response