diff --git a/magic-api-plugins/magic-api-plugin-swagger/src/main/java/org/ssssssss/magicapi/swagger/MagicSwaggerConfiguration.java b/magic-api-plugins/magic-api-plugin-swagger/src/main/java/org/ssssssss/magicapi/swagger/MagicSwaggerConfiguration.java index a1cd924e..5a3537e7 100644 --- a/magic-api-plugins/magic-api-plugin-swagger/src/main/java/org/ssssssss/magicapi/swagger/MagicSwaggerConfiguration.java +++ b/magic-api-plugins/magic-api-plugin-swagger/src/main/java/org/ssssssss/magicapi/swagger/MagicSwaggerConfiguration.java @@ -59,7 +59,7 @@ public class MagicSwaggerConfiguration implements MagicPluginConfiguration { SwaggerEntity.License license = new SwaggerEntity.License("MIT", "https://gitee.com/ssssssss-team/magic-api/blob/master/LICENSE"); SwaggerEntity.Info info = new SwaggerEntity.Info(swaggerConfig.getDescription(), swaggerConfig.getVersion(), swaggerConfig.getTitle(), license, swaggerConfig.getConcat()); // 构建文档信息 - SwaggerProvider swaggerProvider = new SwaggerProvider(requestMagicDynamicRegistry, magicResourceService, servletContext.getContextPath(), info, properties.isPersistenceResponseBody()); + SwaggerProvider swaggerProvider = new SwaggerProvider(requestMagicDynamicRegistry, magicResourceService, servletContext.getContextPath(), info, properties.isPersistenceResponseBody(), properties.getPrefix()); // 注册swagger.json diff --git a/magic-api-plugins/magic-api-plugin-swagger/src/main/java/org/ssssssss/magicapi/swagger/entity/SwaggerProvider.java b/magic-api-plugins/magic-api-plugin-swagger/src/main/java/org/ssssssss/magicapi/swagger/entity/SwaggerProvider.java index e6203438..b2490213 100644 --- a/magic-api-plugins/magic-api-plugin-swagger/src/main/java/org/ssssssss/magicapi/swagger/entity/SwaggerProvider.java +++ b/magic-api-plugins/magic-api-plugin-swagger/src/main/java/org/ssssssss/magicapi/swagger/entity/SwaggerProvider.java @@ -46,13 +46,15 @@ public class SwaggerProvider { private final String basePath; private final SwaggerEntity.Info info; private final boolean persistenceResponseBody; + private final String prefix; - public SwaggerProvider(RequestMagicDynamicRegistry requestMagicDynamicRegistry, MagicResourceService magicResourceService, String basePath, SwaggerEntity.Info info, boolean persistenceResponseBody) { + public SwaggerProvider(RequestMagicDynamicRegistry requestMagicDynamicRegistry, MagicResourceService magicResourceService, String basePath, SwaggerEntity.Info info, boolean persistenceResponseBody, String prefix) { this.requestMagicDynamicRegistry = requestMagicDynamicRegistry; this.magicResourceService = magicResourceService; this.basePath = basePath; this.info = info; this.persistenceResponseBody = persistenceResponseBody; + this.prefix = StringUtils.defaultIfBlank(prefix, "") + "/"; } @ResponseBody @@ -64,7 +66,7 @@ public class SwaggerProvider { swaggerEntity.setBasePath(this.basePath); for (ApiInfo info : infos) { String groupName = magicResourceService.getGroupName(info.getGroupId()).replace("/", "-"); - String requestPath = PathUtils.replaceSlash("/" + magicResourceService.getGroupPath(info.getGroupId()) + "/" + info.getPath()); + String requestPath = PathUtils.replaceSlash(this.prefix + magicResourceService.getGroupPath(info.getGroupId()) + "/" + info.getPath()); SwaggerEntity.Path path = new SwaggerEntity.Path(info.getId()); path.addTag(groupName); boolean hasBody = false;