我得到了三个服务,就像 Jersey 文档中用分块响应描述的那样: https://jersey.java.net/documentation/latest/async.html
但我必须添加用户访问控制并相应地使用 403 错误代码进行响应,但我找不到向响应添加状态或构建错误响应的方法,就像在返回实体主体类型的服务中那样。
有什么想法吗?
最佳答案
您可以返回 Response
而不是 ChunkedOutPut
然后将 ChunkedOutPut
或错误消息包装在您的 Response
对象中作为如下所示。
@GET
public Response getChunkedResponse() throws IOException {
// Check access here
if (!authorized()) {
Response.status(403).entity("No Access").build();
} else {
final ChunkedOutput<String> output = new ChunkedOutput<String>(String.class);
new Thread() {
public void run() {
// Your operation which returns chunked output.
}
}.start();
return Response.ok(output).build();
}
}
关于java - 出错时从 jersey Chunked 响应返回 HTTP 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42995268/