我正在学习如何在 Spring Boot 3.25 中使用 Swagger 3。我可以访问
http://localhost:8080/rad
并且可以获取测试数据。
我的依赖项
<dependencies>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.32</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
</dependencies>
我的申请
@SpringBootApplication
@EnableOpenApi
public class appserver3 {
public static void main(String[] args) {
SpringApplication.run(appserver3.class,args);
}
}
我的配置
@Configuration
public class swagger_config {
@Bean
public Docket apiconfig(){
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("Fingers")
.description("fingers")
.contact(new Contact("1", "2", "3"))
.version("1.0")
.build();
}
}
我的应用程序.yml
Spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
我该如何解决这个问题?
正如您提到的,您使用的是 Swagger 3,它基本上是 OpenApi 3.0,因此您必须修改您的 swagger_config 类,因为您使用的是与 Swagger 3 不兼容的 Swagger 2.0 配置。
Swagger 3 中不再支持 Docket 和 ApiInfo。
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-data-rest</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>2.5.0</version>
</dependency>
您可以参考这些链接了解更多详情