Swagger UI:无法推断基本网址

时间:2019-08-15 14:33:34

标签: spring spring-boot swagger-ui swagger-2.0 springfox

我正在将Spring Boot 2.1.4.RELEASE与springfox-swagger2 2.9.2配合使用,并且能够从微服务获取数据(如果直接通过浏览器的GET操作进行访问)

问题:当我在http://localhost:9000/swagger-ui.html上点击Swaager UI以查看REST API文档的详细信息时,我遇到了错误

无法推断基本网址。当使用动态servlet注册或API位于API网关后面时,这很常见。基本url是为所有swagger资源提供服务的根。例如如果api在http://example.org/api/v2/api-docs可用,则基本URL为http://example.org/api/。请手动输入位置:

我的Swagger配置低于

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class RestResourceConfig implements WebMvcConfigurer {

  @Override
  public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
    configurer.defaultContentType(MediaType.APPLICATION_JSON);
  }


  @Bean
  public Docket api() {
    return new Docket(DocumentationType.SWAGGER_2)
        .select()
        .apis(RequestHandlerSelectors.any())
        .paths(PathSelectors.any())
        .build();
  }
}

注意

我可以使用链接http://localhost:9000/v2/api-docs直接访问api文档 没问题。 Swagger UI的唯一问题

请推荐要解决的提示/解决方案

P.S-我没有使用Spring Security

1 个答案:

答案 0 :(得分:0)

我和你有同样的问题。

我的spring-boot版本是2.3.1,而swagger版本是2.10.5。这是我的招摇依赖性,第三个帮助我解决了一个问题。

implementation "io.springfox:springfox-swagger2:2.10.5"
implementation "io.springfox:springfox-swagger-ui:2.10.5"
**implementation "io.springfox:springfox-data-rest:2.10.5"**