Roh-Anfragetext in der JAX-RS-Ressourcenmethode erhalten

8

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[] ).

%Vor%

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.

    
Mikael Ståldal 22.04.2013, 14:21
quelle

3 Antworten

13

nur wenn dies jemand hilft

%Vor%     
TPEACHES 14.06.2014 19:44
quelle
10

Das funktioniert für mich:

%Vor%     
jbuhacoff 31.01.2014 09:54
quelle
1

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.

    
Mikael Ståldal 23.04.2013 16:30
quelle

Tags und Links