为什么springfox-swagger2 UI告诉我Unable to infer base url.
据我所知,我使用的是典型的Swagger Spring 启动配置。
如屏幕截图所示,支持UI的swagger-fox网址为 example.com/api 。注意:导航到:https://localhost:9600/api/v2/api-docs/时,我得到一个标准的Spring Whitelabel Error Page
。我怀疑这是问题的根源吗?我没有看到Spring没有加载springfox-swagger2
的错误,所以我不知道为什么它不起作用。
我的配置看起来像这样(并且我已经尝试过从网上搜索建议的各种配置变化):
@EnableSwagger2
@EnableWebMvc
@ComponentScan(basePackages = {"com.company.project"})
public class SwaggerConfig
{
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(Predicates.not(RequestHandlerSelectors.basePackage("org.springframework.boot")))
.apis(Predicates.not(RequestHandlerSelectors.basePackage("org.springframework.cloud")))
.apis(Predicates.not(RequestHandlerSelectors.basePackage("org.springframework.data.rest.webmvc")))
.paths(PathSelectors.any())
.build();
}
}
和
<!-- to generate /swagger-ui.html -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
注意:有趣的是,当我尝试版本2.6.0时,我没有看到模式弹出窗口,但是我的Swagger UI显示0 api内容。所以,我知道模态一定是很新的吗?
如果此处没有足够的信息,请给我评论。
请您参考如下方法:
我能够通过添加带有注释的SpringBootApplication来解决此问题-如Mark所建议:
@EnableSwagger2