Files
FlashSaleSystem/src/main/java/com/org/flashsalesystem/config/SwaggerConfig.java

113 lines
3.3 KiB
Java

package com.org.flashsalesystem.config;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
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;
/**
* Swagger配置类
* 配置Knife4j接口文档
*/
@Configuration
public class SwaggerConfig {
/**
* 创建OpenAPI基本信息
*/
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.info(new Info()
.title("社区生鲜团购系统API文档")
.description("社区生鲜团购系统接口文档")
.version("1.0.0")
.contact(new Contact()
.name("开发团队")
.email("dev@flashsale.com")
.url("https://github.com/flashsale"))
.license(new License()
.name("MIT License")
.url("https://opensource.org/licenses/MIT")));
}
/**
* 用户管理API分组
*/
@Bean
public GroupedOpenApi userApi() {
return GroupedOpenApi.builder()
.group("用户管理")
.pathsToMatch("/api/user/**")
.build();
}
/**
* 商品管理API分组
*/
@Bean
public GroupedOpenApi productApi() {
return GroupedOpenApi.builder()
.group("商品管理")
.pathsToMatch("/api/product/**")
.build();
}
/**
* 秒杀管理API分组
*/
@Bean
public GroupedOpenApi flashSaleApi() {
return GroupedOpenApi.builder()
.group("秒杀管理")
.pathsToMatch("/api/flashsale/**")
.build();
}
/**
* 订单管理API分组
*/
@Bean
public GroupedOpenApi orderApi() {
return GroupedOpenApi.builder()
.group("订单管理")
.pathsToMatch("/api/order/**")
.build();
}
/**
* 购物车管理API分组
*/
@Bean
public GroupedOpenApi cartApi() {
return GroupedOpenApi.builder()
.group("购物车管理")
.pathsToMatch("/api/cart/**")
.build();
}
/**
* 系统管理API分组
*/
@Bean
public GroupedOpenApi systemApi() {
return GroupedOpenApi.builder()
.group("系统管理")
.pathsToMatch("/test/**")
.build();
}
/**
* 完整API分组
*/
@Bean
public GroupedOpenApi allApi() {
return GroupedOpenApi.builder()
.group("完整接口")
.pathsToMatch("/**")
.build();
}
}