我正在填充并以下列方式将javax.ws.rs.core.Response返回给Swagger UI -
return Response.status(503)
.entity(new SomeErrorEntity())
.header("SOME_HEADER","SOME_HEADER").build();
这里SomeErrorEntity对象的json正确地显示在Response body中,但是标题“SOME_HEADER”没有显示在Google Chrome中呈现的swagger UI中的Response头下。只有“content-type”:“application / json”显示在标题下。但有趣的是,“SOME_HEADER”标题显示在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中渲染标题存在一些问题,并且修改建议不适用于我的情况,因为我没有明确使用任何swagger.js。所以,很少有人对如何找到这个问题的解决方案感到困惑。因此,任何解决此问题的建议都将受到赞赏。
答案 0 :(得分:0)
由于CORS issuse
,您必须将此Access-Control-Expose-Headers:X-Total-Results
发送给客户端