首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Micronaut with remote Swagger-UI / CORS错误

Micronaut with remote Swagger-UI / CORS错误
EN

Stack Overflow用户
提问于 2019-11-06 23:58:46
回答 1查看 652关注 0票数 1

目前,我正在为Micronaut 1.2.5和远程Swagger-UI而苦苦挣扎。我的想法是在一个Swagger-UI实例中收集多个API。

在我的Micronaut项目中,我能够创建一个有效的Swagger YAML文件,并使用这个解决方案Swagger for Micronaut with maven (在我的项目中提供静态Swagger-UI页面),一切正常。

为了让Micronaut与远程Swagger-UI一起工作,该远程Swagger-UI驻留在我的服务之外的其他域中,我在application.yml中进行了以下设置:

代码语言:javascript
复制
micronaut:
  server:
    cors:
      endabled: true
      configurations:
        web:
          exposedHeaders:
            - Access-Control-Allow-Origin
            - Access-Control-Allow-Headers
            - Access-Control-Allow-Methods

不幸的是,这并没有帮助,Swagger-UI失败,因为

代码语言:javascript
复制
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方法中的断点没有任何影响。

有什么想法吗?

先谢谢你,克里斯托弗

EN

回答 1

Stack Overflow用户

发布于 2019-11-07 17:23:58

经过一番调查,我终于解决了这些问题。

我的application.yaml现在看起来像这样:

代码语言:javascript
复制
micronaut:
  server:
    cors:
      enabled: true
      configurations:
        web:
          exposedHeaders:
            - Content-Type
            - Authorization
            - '*'

关于Chrome和Edge的问题是由不被接受的自签名SSL证书引起的。

要解决这个问题,可以在浏览器中打开swagger.yml文件,并将自签名的SSL证书添加到浏览器中。然后你就可以在Swagger中使用你的Micronaut API了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58734101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档