Springboot使用Swagger2报错: Unable to infer base url.This is common when using dynamic servlet
时间: 2023-09-24 12:02:22 浏览: 378
这个错误通常是由于Swagger2无法推断出基本URL导致的。这可能是因为你的应用程序是动态的,所以Swagger2无法推断出正确的URL。为了解决这个问题,你需要手动设置基本URL。具体步骤如下:
1. 在你的Spring Boot应用程序中打开Swagger2的配置类。
2. 在配置类中添加以下代码:
```java
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("your base package"))
.paths(PathSelectors.any())
.build()
.pathProvider(new BasePathAwareRelativePathProvider("/your-base-url"));
}
```
3. 将上面的代码中的“your base package”替换为你的应用程序中的基本包名称,将“/your-base-url”替换为你的应用程序的基本URL。
这样就会手动设置基本URL,从而解决这个问题。
相关问题
Swagger弹窗报错:Unable to infer base url. This is common when using dynamic servlet registration
这个错误通常是由于Swagger无法确定API的基本URL,可能是因为您正在使用动态servlet注册或未正确配置Swagger。
您可以尝试在Swagger配置中手动指定基本URL,例如:
```java
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
.pathMapping("/")
.apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Your API Title")
.description("Your API Description")
.version("1.0.0")
.build();
}
}
```
在这个配置中,我们手动指定了基本URL为根路径`/`。您可以根据您的实际情况进行调整。
Unable to infer base url. This is common when using dynamic servlet registration...
这个问题是由于在配置Swagger时缺少了application.yml文件导致的。application.yml文件中包含了项目的配置信息,如果没有正确配置base URL,就会出现这个错误。为了解决这个问题,你可以在项目中添加一个名为application.yml的配置文件,并在其中配置正确的base URL。具体的配置步骤可以参考网上的教程或者Swagger的官方文档。
阅读全文