Wie kann ich auf den RAW-Anfragetext von einer JAX-RS-Ressourcenmethode wie java.io.InputStream
oder byte[]
zugreifen? Ich möchte, dass der Container jede MessageBodyReader
für eine bestimmte Ressourcenklasse oder Methode umgeht, aber ich habe andere Ressourcen in den Projekten, die einige MessageBodyReader
verwenden sollten.
Ich habe das versucht, aber es wird das registrierte MessageBodyReader
s aufrufen und das Ergebnis nicht InputStream
zuweisen (dasselbe Problem mit byte[]
).
Ich habe das auch versucht, aber dann kann der Container nicht mit diesem Fehler initialisiert werden:
%Vor% %Vor% Die Methode befindet sich in einer Unterressourcenklasse, die aus einer Methode mit einer @Path
-Anmerkung in einer anderen Ressourcenklasse erstellt wird.
Ich benutze Jersey 1.11.
Ich habe den Grund gefunden, dass das Injizieren von HttpServletRequest nicht funktioniert hat, weil ich meinen Code im Jersey Test Framework ausgeführt habe, nicht in einem richtigen Servlet-Container. Es funktioniert, wenn ich es in einem richtigen Servlet-Container ausführen.
Es ist schade, dass es keine reine JAX-RS-Methode gibt, um den rohen Anfragetext zu erhalten.