Микронавт с ошибкой Swagger-UI / CORS удаленного - PullRequest
0 голосов
/ 06 ноября 2019

В данный момент я борюсь с Micronaut 1.2.5 и удаленным Swagger-UI. Моя идея состоит в том, чтобы собрать несколько API-интерфейсов в одном экземпляре Swagger-UI.

В моем проекте Micronaut я могу создать действительный файл Swamger YAML и с этим решением Swagger для Micronaut с 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 завершается ошибкой с

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 не действует.

Есть идеи?

Заранее спасибо, Кристоф

1 Ответ

0 голосов
/ 07 ноября 2019

После некоторого расследования я смог решить проблемы.

Мой application.yaml теперь выглядит так:

micronaut:
  server:
    cors:
      enabled: true
      configurations:
        web:
          exposedHeaders:
            - Content-Type
            - Authorization
            - '*'

Проблемы, связанные с Chrome и Edge, были вызваны самозаверяющим SSLсертификаты, которые не были приняты.

Чтобы решить, что это помогает открыть файл swagger.yml в вашем браузере и добавить самозаверяющий сертификат SSL в ваш браузер. После этого вы можете использовать API Micronaut в Swagger.

...