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(); } }