Как сделать URL по умолчанию для просмотра в браузере при весенней загрузке? - PullRequest
0 голосов
/ 26 марта 2019

У меня есть микросервис, разработанный с использованием Spring Boot 2.1.3 версии, а также я использовал SpringFox версии 2.9.2 для документации Swagger. Каждый раз, когда я распространяю или внедряю третьему лицу или любому другому человеку, я всегда должен упоминать URL-адрес чванства, чтобы пользователь прошел через конечные точки REST. Мой вопрос заключается в том, как создать перенаправленный URL-адрес по умолчанию в случае весенней загрузки, чтобы автоматически перенаправлял на swagger-ui.html . Это означает, что если пользователь вводит http://localhost:8080 в браузере, браузер должен автоматически перенаправить на URL, т.е. http://localhost:8080/api/swagger-ui.html. Я хочу знать, требуется ли для этого какая-либо конфигурация?

Прежде чем перейти к stackoverflow, я просмотрел следующие ссылки и попытался, но ничего не получилось, как ожидалось.

Java Spring Boot: как сопоставить корень моего приложения («/») с index.html?

Изменение страницы приветствия по умолчанию для приложения весенней загрузки, развернутого как война

Я тоже пробовал разные способы, но я всегда получаю страницу ошибки 404 или Whitelabel. Я хочу знать, есть ли способ в случае страницы ошибки whitelabel, он должен автоматически перенаправить на страницу swagger т.е. http://localhost:8080/api/swagger-ui.html.

Я также добавил ниже в application.properties.

server.servlet.context-path=/api

Пожалуйста, помогите мне в этом отношении.

Ответы [ 3 ]

0 голосов
/ 26 марта 2019

Вы можете использовать контроллер для вашего пути по умолчанию

@RequestMapping("/")
public String index(Model model) {            
    return "redirect: /api/swagger-ui.html";

}

0 голосов
/ 27 марта 2019

Ваш контроллер должен выглядеть так:

@RestController
public class DefaultController implements ErrorController {

    @Override
    public String getErrorPath() {
        return "/error";
    }

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

    @RequestMapping(value = "/")
    public void redirect(HttpServletResponse response) throws IOException {
        response.sendRedirect("/swagger-ui.html");
    }

}

Я также собрал для вас работающую модель в моем проекте github spring-boot.
Для страницы по умолчанию / страницы индекса или страницы ошибок она всегда будет перенаправлена ​​на swagger-ui.html.
Дайте мне знать, если у вас все еще есть вопросы.

0 голосов
/ 26 марта 2019

Вы можете добавить RedirectViewController следующим образом:

@Configuration
public class WebConfiguration implements WebMvcConfigurer {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addRedirectViewController("/", "/api/swagger-ui.html");
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...