mirror of
https://gitee.com/ssssssss-team/magic-api.git
synced 2026-05-31 19:09:53 +08:00
feat:springdoc 在线文档根据接口最外层目录结构分组
This commit is contained in:
@@ -96,7 +96,6 @@ public class MagicSpringDocConfiguration implements MagicPluginConfiguration {
|
||||
|
||||
|
||||
private void createSwaggerProvider(ObjectProvider<RequestMagicDynamicRegistry> 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");
|
||||
|
||||
@@ -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<Map<String, Object>> parseParameters(ApiInfo info) {
|
||||
List<Map<String, Object>> 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())));
|
||||
|
||||
Reference in New Issue
Block a user