首页 文章

响应标头未显示在Google Chrome中呈现的swagger UI中

提问于
浏览
1

我正在填充并以下列方式将javax.ws.rs.core.Response返回给Swagger UI-

return Response.status(503)
 .entity(new SomeErrorEntity())
 .header("SOME_HEADER","SOME_HEADER").build();

这里,SomeErrorEntity对象的json正确地显示在Response body中,但是 Headers “SOME_HEADER”没有显示在Google Chrome中呈现的swagger UI中的Response头下 . 只有“content-type”:“application / json”显示在 Headers 下 . 但有趣的是,“SOME_HEADER” Headers 显示在IE 11中,但在其他浏览器中不显示(最新的Chrome,Mozilla) . 在这里,我使用swagger-jaxrs_2.10版本1.3.13,swagger-core_2.10版本1.3.13,swagger-annotations版本1.5.3-M1和swagger-jersey2-jaxrs_2.10版本1.3.13 . 我也在web.xml中使用以下CORS配置

<filter>
    <filter-name>CORS</filter-name>
    <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>CORS</filter-name>
    <url-pattern>*</url-pattern>
</filter-mapping>

做了一些初步调查,发现在Swagger UI中渲染 Headers 存在一些问题,建议的修正不适用于我的情况,因为我没有明确使用任何swagger.js . 所以,很少有人对如何找到这个问题的解决方案感到困惑 . 因此,任何解决此问题的建议都将受到赞赏 .

1 回答

  • 0

    由于CORS问题,您必须将此 Access-Control-Expose-Headers:X-Total-Results 发送给客户端

相关问题