java - 出错时从 jersey Chunked 响应返回 HTTP 代码

标签 java rest https jersey-2.0

我得到了三个服务,就像 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/

相关文章:

java - 有没有办法在没有投影的情况下在spring数据rest中返回带有id的关联对象

java - 如何高效处理Spring中的错误: Could not resolve view with name 'forward:/oauth/error'

java - 移动手指时看不到路径

WCF 休息 : Is it possible to remove the namespace added to my response XML?

amazon-web-services - AWS Load Balancer - 所有 HTTPS 请求都导致 503 错误,但 SSL 有证书?

java - 在java中使用instanceof Void

node.js - 无法使用 Wordpress REST API (Node JS) 上传图像文件

rest - 以 RESTful 方式处理有序列表

security - HTTPS 请求到 HTTP 的 302 重定向 - 是否可以公开加密内容?

java - SSL 在 Java 中使用自签名证书时如何工作