Могу ли я получить /swagger-ui.html для перенаправления на /swagger-ui/

В springfogx-swagger-ui 3.0.0 мое приложение Spring Boot заканчивается пользовательским интерфейсом Swagger по адресу . Мои пользователи привыкли видеть этот URL как . Есть ли способ настроить перенаправление или что-то еще, чтобы позволить пользователям, которые «знают» http://myapp.example.com:8080/swagger-ui.htmlhttp://myapp.example.com:8080/swagger-ui.html , перенаправить на «правильный» URL http://myapp.example.com:8080/swagger-ui/http: // myapp. example.com:8080/swagger-ui/ ?

Я получил и чванство, и чванство в "обычной" манере Spring Boot.

              <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>3.0.0</version>
        </dependency>

В любом случае это может быть больше вопрос Spring Boot, чем вопрос Spring Fox. Перенаправление похоже на полное решение.

2 ответа

Да, перенаправление кажется самым простым подходом. Если у вас уже есть настраиваемая конфигурация MVC, вы можете добавить строку addRedirectViewController.

      import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;


@Configuration
public class MyWebConfig implements WebMvcConfigurer {

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

}

Мех. Это работает.

      
/**
 * Redirects requests for swagger-ui.html to the /swagger-ui/ endpoint.
 */
@ApiIgnore
@RestController
public class SwaggerHtmlRedirector {
  @RequestMapping(
      method = RequestMethod.GET,
      path = "/swagger-ui.html")
  public RedirectView redirectWithUsingRedirectView() {
    return new RedirectView("/swagger-ui/");
  }
}

Источник: https://www.baeldung.com/spring-swagger-hiding-endpoints.

есть что-нибудь получше?

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