Как удалить «swagger-ui» из URL-адреса Swagger?

У меня есть URL-адрес ниже, работающий в моем проекте Spring Boot.

http://localhost:8080/swagger-ui/index.html

Я хотел бы сократить это до чего-то вроде

http://localhost:8080/docs/index.html

Я попробовал добавить

springdoc.swagger-ui-path: /docs/index.html

в мой application.yml, но затем он перенаправит меня на

http://localhost:8006/docs/swagger-ui/index.html

Я также пытался создать собственный контроллер, который перенаправлял бы меня, как показано ниже, но он все равно отправлял меня на ту же ссылку swagger-ui.

public class SwaggerController {

    @RequestMapping("/docs/index.html")
    public void apiDocumentation(HttpServletResponse response) throws IOException {
        response.sendRedirect("/swagger-ui.html");
    }
}

При возникновении проблем такого типа рекомендуется поделиться версиями, с которыми вы взаимодействуете, чтобы вы могли быть более напористыми. Но взгляните на «springdoc.swagger-ui.disable-swagger-default-url».

KL_ 20.06.2024 23:34

с версией Spring-Boot 3.3.0 у меня работает, если я использую @GetMapping("/docs/index.html") и response.sendRedirect("/swagger-ui/index.html"); внутренний контроллер

Abhishek Kotalwar 21.06.2024 08:01
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
59
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете установить URL-адрес входа для пользовательского интерфейса Swagger с помощью свойств (как вы это сделали).

springdoc.swagger-ui.path=/docs

Это сработает, и вы можете, например, предоставить краткую форму http://localhost:8006/docs в своей документации или на страницах Wiki.

Он перенаправит вызывающего абонента на следующий URL-адрес:

http://localhost:8006/docs/swagger-ui/index.html

Последняя часть приведенного выше URL-адреса жестко закодирована и не может быть изменена в конфигурации.

Я предполагаю, что это намеренное уважение авторских прав команды, создавшей Swagger UI. Точно так же вы не сможете удалить логотип Swagger из сгенерированного HTML.

Другие вопросы по теме