Использование jhipster 5.7.2
Я создал api-шлюз и две микро-службы.
В первом я создал сущность, и она отлично работает за шлюзом. Шлюз отображает конечные точки API для сгенерированного объекта.
Я сгенерировал второй микро-сервис, но на этот раз у меня уже был определен API в файле yml, поэтому я выбрал «API-first».
Мой API был определен с использованием Open-API 3.
Я успешно сгенерировал код для моего API, используя инструкции там , и протестировал непосредственный вызов моей конечной точки микросервиса с помощью curl: в этот момент он работал как положено.
Проблема: когда я ставлю этот микро-сервис за шлюз, шлюз не видит API. Когда я захожу в меню API, мой микро-сервис отображается в раскрывающемся списке, но когда я выбираю его, он не показывает конечных точек.
Одна странная вещь, которую я обнаружил при поиске, заключается в том, что когда я вызываю следующий URL-адрес непосредственно в моем микро-сервисе: http://localhost:8082/v2/api-docs (как указано на «приветственной странице» микро-сервиса), я получаю:
{"swagger":"2.0","info":{"description":"my micro-service API documentation","version":"0.0.1","title":"api-first micro-service API","contact":{},"license":{}},"host":"localhost:8082","basePath":"/"}
Там написано «swagger 2.0», когда мой файл yml объявил openapi 3.0.1.
Я искал и нашел эту проблему , в которой говорится:
Swagger UI используется очень старая версия (2.2.10), которая не обеспечивает
поддержка Open API
Хотя проблема была в openapi, поэтому я переписал файл yml на swagger 2.0, и, наконец, у меня возникла та же проблема: API-интерфейс микросервиса работает, но, похоже, не виден шлюзу.
Я начинаю удивляться, если это проблема только на моей стороне.