【发布时间】:2019-11-06 15:58:45
【问题描述】:
目前,我正在为 Micronaut 1.2.5 和远程 Swagger-UI 苦苦挣扎。我的想法是在一个 Swagger-UI 实例中收集多个 API。
在我的 Micronaut 项目中,我能够创建一个有效的 Swagger YAML 文件,并且使用此解决方案 Swagger for Micronaut with maven(在我的项目中提供静态 Swagger-UI 页面)一切正常。
为了让 Micronaut 使用与我的服务不同的域中的远程 Swagger-UI,我在 application.yml 中进行了以下设置:
micronaut:
server:
cors:
endabled: true
configurations:
web:
exposedHeaders:
- Access-Control-Allow-Origin
- Access-Control-Allow-Headers
- Access-Control-Allow-Methods
不幸的是,这无济于事,Swagger-UI 失败了
Fetch error
NetworkError when attempting to fetch resource. https://....yml
Fetch error
Possible cross-origin (CORS) issue? The URL origin (https://aa) does not match the page (https://bb). Check the server returns the correct 'Access-Control-Allow-*' headers.
在 Micronaut 响应中,不包含 Access-Control-Allow 标头。虽然调试 CorsFilter 似乎没有被调用,但是 doFilter 方法中的断点没有任何作用。
有什么想法吗?
提前谢谢你, 克里斯托夫
【问题讨论】:
-
错字?你的配置文件真的有
endabled: true吗?如果是这样,那需要改为enabled: true,对吗? -
你是对的,修复了启用类型的 cors。我还更改了exposedHeaders。但不幸的是,这仅在某些时候有帮助,而且仅在 Firefox、Chrome 和 Edge 中出现相同的错误消息。
标签: cors swagger-ui micronaut