Java 具有原始字节体的Jersey HTTP POST异步响应处理程序
当我想稍后使用AsyncResponse发送响应时,如何访问HTTP POST正文的原始字节 在下面的代码中,当我取消注释此部分/*,@Context final byte[]rawBytesIn*/,我得到以下错误:error[2015-05-20 22:36:18441]com.sun.jersey.spi.inject.Errors:已检测到资源和/或提供程序类的以下错误和警告: 严重:缺少方法public void com.abc.resources.MyResource.postSearchjavax.ws.rs.container.AsyncResponse的依赖项,索引0处参数处的字节[] 严重:缺少方法public void com.abc.resources.MyResource.postSearchjavax.ws.rs.container.AsyncResponse的依赖项,索引1处参数处的字节[]Java 具有原始字节体的Jersey HTTP POST异步响应处理程序,java,post,asynchronous,jersey-2.0,Java,Post,Asynchronous,Jersey 2.0,当我想稍后使用AsyncResponse发送响应时,如何访问HTTP POST正文的原始字节 在下面的代码中,当我取消注释此部分/*,@Context final byte[]rawBytesIn*/,我得到以下错误:error[2015-05-20 22:36:18441]com.sun.jersey.spi.inject.Errors:已检测到资源和/或提供程序类的以下错误和警告: 严重:缺少方法public void com.abc.resources.MyResource.postSea
@Path("/")
public class MyResource
{
@POST
@Consumes("application/fastinfoset")
@Produces("application/fastinfoset")
public void postSearch(@Suspended final AsyncResponse ar/*, @Context final byte [] rawBytesIn*/) {
new Thread(new Runnable() {
@Override
public void run() {
byte [] rawBytesOut = ProcessRequest(rawBytesIn);
ar.resume(rawBytesOut);
}
}).start();
}
}
什么让你认为你需要@Context注释?请求正文不需要任何注释,实际上不应该有注释如果您将@Consumes更改为text,将方法更改为public void postSearchfinal String text、@Suspended final AsyncResponse是否有效?或者使用public voidpostSearch@Suspended最终异步响应,@Context HttpServletRequest httpRequest