小编Mik*_*dal的帖子

在JAX-RS资源方法中获取原始请求体

如何从JAX-RS资源方法访问原始请求主体,java.io.InputStreambyte[]?我希望容器绕过任何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)

java rest http jax-rs

13
推荐指数
3
解决办法
2万
查看次数

标签 统计

http ×1

java ×1

jax-rs ×1

rest ×1