Spring Boot 使用 Swagger3 生成 API 接口文档
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import org.springdoc.core.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class SwaggerConfig {
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.info(new Info()
.title("示例应用 API")
.description("这是一个使用 Swagger 3 的 API 文档")
.version("1.0.0")
.license(new License().name("Apache 2.0").url("http://springdoc.org")))
.externalDocs(new ExternalDocumentation()
.description("更多信息")
.url("http://swagger.io"));
}
@Bean
public GroupedOpenApi publicApi() {
return GroupedOpenApi.builder()
.group("public")
.pathsToMatch("/api/v1/**")
.build();
}
@Bean
public GroupedOpenApi internalApi() {
return GroupedOpenApi.builder()
.group("internal")
.pathsToMatch("/api/v1/admin/**")
.build();
}
}
这个配置类定义了一个OpenAPI实例,并且配置了两个GroupedOpenApi实例,分别用于匹配不同路径的接口。在这个例子中,所有以"/api/v1/"开头的接口都会被文档化,其中一部分是公开的,另一部分是内部的。这种配置可以帮助管理大型项目中的API文档分组和权限控制。
评论已关闭