diff --git a/src/main/java/com/beat/global/swagger/config/SwaggerConfig.java b/src/main/java/com/beat/global/swagger/config/SwaggerConfig.java index 0a30742..fe4e57a 100644 --- a/src/main/java/com/beat/global/swagger/config/SwaggerConfig.java +++ b/src/main/java/com/beat/global/swagger/config/SwaggerConfig.java @@ -10,6 +10,7 @@ import io.swagger.v3.oas.models.servers.Server; import org.springdoc.core.customizers.OperationCustomizer; +import org.springdoc.core.models.GroupedOpenApi; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -41,6 +42,25 @@ public OpenAPI openAPI() { .addSecurityItem(securityRequirement); } + @Bean + public GroupedOpenApi generalApi() { + return GroupedOpenApi.builder() + .group("general") + .pathsToMatch("/**") + .pathsToExclude("/api/admin/**") + .addOperationCustomizer(customize()) + .build(); + } + + @Bean + public GroupedOpenApi adminApi() { + return GroupedOpenApi.builder() + .group("admin") + .pathsToMatch("/api/admin/**") + .addOperationCustomizer(customize()) + .build(); + } + @Bean public OperationCustomizer customize() { return (operation, handlerMethod) -> { diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index bbf1bb1..5d5151a 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -86,13 +86,8 @@ springdoc: use-fqn: false default-consumes-media-type: application/json;charset=UTF-8 default-produces-media-type: application/json;charset=UTF-8 - group-configs: - - group: admin - paths-to-match: /api/admin/** - - group: general - paths-to-match: /** - paths-to-exclude: /api/admin/** swagger-ui: tags-sorter: alpha operations-sorter: alpha display-request-duration: true + urls-primary-name: general diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index 0a57539..4b18549 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -86,13 +86,8 @@ springdoc: use-fqn: false default-consumes-media-type: application/json;charset=UTF-8 default-produces-media-type: application/json;charset=UTF-8 - group-configs: - - group: admin - paths-to-match: /api/admin/** - - group: general - paths-to-match: /** - paths-to-exclude: /api/admin/** swagger-ui: tags-sorter: alpha operations-sorter: alpha display-request-duration: true + urls-primary-name: general