如何从JAX-RS资源方法访问原始请求主体,java.io.InputStream或byte[]?我希望容器绕过任何MessageBodyReader特定的资源类或方法,但我在项目中有其他资源应该使用一些MessageBodyReader.
我试过这个,但它会调用已注册的MessageBodyReaders并且无法将结果分配给InputStream(同样的问题byte[]).
@POST
public Response post(@Context HttpHeaders headers, InputStream requestBody) {
MediaType contentType = headers.getMediaType();
// ...
}
Run Code Online (Sandbox Code Playgroud)
我也尝试了这个,但是容器无法初始化此错误:
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 …Run Code Online (Sandbox Code Playgroud)