Uzyskanie surowego ciała żądania w metodzie zasobów JAX-RS

W jaki sposób mogę uzyskać dostęp do treści żądania surowego z metody zasobu JAX-RS, podobnie jakjava.io.InputStream lubbyte[]? Chcę, aby kontener ominął dowolnyMessageBodyReader dla określonej klasy zasobów lub metody, ale mam inne zasoby w projektach, które powinny korzystać z niektórychMessageBodyReader.

Próbowałem tego, ale wywoła zarejestrowanyMessageBodyReaders i nie można przypisać wyniku doInputStream (ten sam problem zbyte[]).

@POST
public Response post(@Context HttpHeaders headers, InputStream requestBody) {
    MediaType contentType = headers.getMediaType();
    // ... 
}

Próbowałem również tego, ale kontener nie może się zainicjować z tym błędem:

SEVERE: The following errors and warnings have been detected with resource and/or provider classes:
SEVERE: Missing dependency for method public javax.ws.rs.core.Response SomeResource.post(javax.servlet.http.HttpServletRequest) at parameter at index 0
SEVERE: Method, public javax.ws.rs.core.Response SomeResource.post(javax.servlet.http.HttpServletRequest), annotated with POST of resource, class SomeResource, is not recognized as valid resource method.
@POST
public Response post(@Context HttpServletRequest request) {
    String contentType = request.getContentType();
    InputStream requestBody = request.getInputStream();
    // ... 
}

Metoda znajduje się w klasie zasobów podrzędnych, która jest tworzona za pomocą metody a@Path adnotacja w innej klasie zasobów.

Używam Jersey 1.11.

questionAnswers(3)

yourAnswerToTheQuestion