diff --git a/magic-api-plugins/magic-api-plugin-springdoc/src/main/java/org/ssssssss/magicapi/springdoc/MagicSpringDocConfiguration.java b/magic-api-plugins/magic-api-plugin-springdoc/src/main/java/org/ssssssss/magicapi/springdoc/MagicSpringDocConfiguration.java index a3a15d20..f370a02a 100644 --- a/magic-api-plugins/magic-api-plugin-springdoc/src/main/java/org/ssssssss/magicapi/springdoc/MagicSpringDocConfiguration.java +++ b/magic-api-plugins/magic-api-plugin-springdoc/src/main/java/org/ssssssss/magicapi/springdoc/MagicSpringDocConfiguration.java @@ -96,7 +96,6 @@ public class MagicSpringDocConfiguration implements MagicPluginConfiguration { private void createSwaggerProvider(ObjectProvider requestMagicDynamicRegistryObjectProvider, MagicResourceService magicResourceService, ServletContext servletContext) throws NoSuchMethodException { - Mapping mapping = Mapping.create(requestMappingHandlerMapping); RequestMappingInfo requestMappingInfo = mapping.paths(springDocConfig.getLocation()).build(); SwaggerEntity.License license = new SwaggerEntity.License("MIT", "https://gitee.com/ssssssss-team/magic-api/blob/master/LICENSE"); diff --git a/magic-api-plugins/magic-api-plugin-springdoc/src/main/java/org/ssssssss/magicapi/springdoc/entity/SwaggerProvider.java b/magic-api-plugins/magic-api-plugin-springdoc/src/main/java/org/ssssssss/magicapi/springdoc/entity/SwaggerProvider.java index 7a69584e..f930fc0d 100644 --- a/magic-api-plugins/magic-api-plugin-springdoc/src/main/java/org/ssssssss/magicapi/springdoc/entity/SwaggerProvider.java +++ b/magic-api-plugins/magic-api-plugin-springdoc/src/main/java/org/ssssssss/magicapi/springdoc/entity/SwaggerProvider.java @@ -4,10 +4,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.ResponseBody; import org.ssssssss.magicapi.core.config.MagicConfiguration; -import org.ssssssss.magicapi.core.model.ApiInfo; -import org.ssssssss.magicapi.core.model.BaseDefinition; -import org.ssssssss.magicapi.core.model.DataType; -import org.ssssssss.magicapi.core.model.Path; +import org.ssssssss.magicapi.core.model.*; import org.ssssssss.magicapi.core.service.MagicResourceService; import org.ssssssss.magicapi.core.service.impl.RequestMagicDynamicRegistry; import org.ssssssss.magicapi.utils.JsonUtils; @@ -73,7 +70,7 @@ public class SwaggerProvider { swaggerEntity.addSecurity(securityMap); for (ApiInfo info : infos) { - String groupName = magicResourceService.getGroupName(info.getGroupId()).replace("/", "-"); + String groupName = getRootGroupName(info.getGroupId()); String requestPath = PathUtils.replaceSlash(this.prefix + magicResourceService.getGroupPath(info.getGroupId()) + "/" + info.getPath()); SwaggerEntity.Path path = new SwaggerEntity.Path(info.getId()); path.addTag(groupName); @@ -123,6 +120,14 @@ public class SwaggerProvider { return swaggerEntity; } + private String getRootGroupName(String groupId) { + Group group = magicResourceService.getGroup(groupId); + if (!Objects.equals(group.getParentId(), "0")) { + return getRootGroupName(group.getParentId()); + } + return group.getName(); + } + private List> parseParameters(ApiInfo info) { List> parameters = new ArrayList<>(); info.getParameters().forEach(it -> parameters.add(SwaggerEntity.createParameter(it.isRequired(), it.getName(), VAR_NAME_QUERY, it.getDataType().getJavascriptType(), it.getDescription(), it.getValue())));