Спецификация OpenAPI 3.0 показывает разные URL-адреса в браузере и раскрывающемся списке серверов.

введите описание изображения здесь

Мы используем OpenApi Specification v1.4.8. У нас есть URL-адреса балансировщика нагрузки и URL-адрес домена. URL домена http://market.place.com/productsservice/swagger-ui.html и URL балансировщика нагрузки http://7649263.path.aws.com/productsservice/swagger-ui.html.

Из-за некоторых текущих сетевых проблем с доменом мы перешли на использование URL-адреса балансировщика нагрузки для тестирования приложения. Когда я получаю доступ к пользовательскому интерфейсу swagger, используя указанный выше URL-адрес балансировщика нагрузки, я вижу URL-адрес домена в раскрывающемся списке серверов (нигде не добавлял). Таким образом, URL-адрес в адресной строке браузера и в раскрывающемся списке «Серверы» отличается.

Поскольку Swagger использует базовый URL-адрес из раскрывающегося списка «Серверы» для создания путей для тестирования, а мой домен не работает, я не могу отправить запрос из пользовательского интерфейса Swagger. Запрос отлично работает через почтальона, когда используется URL-адрес в браузере, который является URL-адресом балансировщика нагрузки.

Есть ли какая-то конфигурация, которая может сделать URL-адрес раскрывающегося списка серверов и базовый путь URL-адреса браузера одинаковыми? Мы пытаемся сделать так, чтобы в раскрывающемся списке «Серверы» был указан URL-адрес, указанный в адресной строке браузера.


person Sourabh    schedule 10.11.2020    source источник
comment
Базовые пути URL сфабрикованы так, чтобы не раскрывать точные данные URL.   -  person Sourabh    schedule 10.11.2020


Ответы (2)


Я думаю об одной причине, по которой у вас возникла эта проблема. Вы должны проверить код, если io.swagger.v3.oas.models.servers.Server используется в конфигурации OpenAPI -

OpenAPI oas = new OpenAPI();
......
......
String url = "/market.place.com/"
List<Server> servers = new ArrayList<Server>();
Server server = new Server();
server.setUrl(url);
servers.add(server);
oas.setServers(servers);

Если вы полагаетесь на программный подход к конфигурации openAPI и в вашем коде есть что-то подобное, это может быть причиной того, что вы видите URI своего домена. Вы можете заменить его правильным URI, чтобы он заработал.

person Amit Chaudhary    schedule 11.11.2020

person    schedule
comment
Если мы жестко кодируем ip / порт, то для каждой среды (dev / test / prod) нам нужна отдельная база кода или, скорее, отдельный файл свойств конфигурации? Есть ли выход через код, который может получить базовый путь к серверам? - person Sourabh; 18.11.2020
comment
Да . Определенно получите свою конфигурацию из application.properties. - person geeekfa; 18.11.2020