From 495b4c7fc93ccb4d1e3b4323488a429259031533 Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Thu, 12 May 2022 17:01:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E6=96=87=E6=A1=A3BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wgink/common/config/SwaggerConfig.java | 50 +++++++++++++++++++ .../service/api/impl/ApiInfoServiceImpl.java | 17 +++---- 2 files changed, 58 insertions(+), 9 deletions(-) diff --git a/common/src/main/java/ink/wgink/common/config/SwaggerConfig.java b/common/src/main/java/ink/wgink/common/config/SwaggerConfig.java index 018a0c19..6130fb78 100644 --- a/common/src/main/java/ink/wgink/common/config/SwaggerConfig.java +++ b/common/src/main/java/ink/wgink/common/config/SwaggerConfig.java @@ -6,14 +6,17 @@ import io.swagger.models.auth.In; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.http.HttpMethod; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.builders.ResponseBuilder; import springfox.documentation.service.*; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spi.service.contexts.SecurityContext; import springfox.documentation.spring.web.plugins.Docket; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -33,6 +36,12 @@ public class SwaggerConfig { public Docket createRestApiSystem() { return new Docket(DocumentationType.OAS_30) .enable(swaggerProperties.getActive()) + .globalResponses(HttpMethod.GET, globalResponses()) + .globalResponses(HttpMethod.POST, globalResponses()) + .globalResponses(HttpMethod.PUT, globalResponses()) + .globalResponses(HttpMethod.DELETE, globalResponses()) + .globalResponses(HttpMethod.HEAD, globalResponses()) + .globalResponses(HttpMethod.OPTIONS, globalResponses()) .pathMapping("/") .groupName(ISystemConstant.API_GROUP_SYSTEM) .apiInfo(apiInfo()) @@ -46,6 +55,12 @@ public class SwaggerConfig { public Docket createRestApiResource() { return new Docket(DocumentationType.OAS_30) .enable(swaggerProperties.getActive()) + .globalResponses(HttpMethod.GET, globalResponses()) + .globalResponses(HttpMethod.POST, globalResponses()) + .globalResponses(HttpMethod.PUT, globalResponses()) + .globalResponses(HttpMethod.DELETE, globalResponses()) + .globalResponses(HttpMethod.HEAD, globalResponses()) + .globalResponses(HttpMethod.OPTIONS, globalResponses()) .pathMapping("/") .groupName(ISystemConstant.API_GROUP_RESOURCE) .apiInfo(apiInfo()) @@ -59,6 +74,12 @@ public class SwaggerConfig { public Docket createRestApiApp() { return new Docket(DocumentationType.OAS_30) .enable(swaggerProperties.getActive()) + .globalResponses(HttpMethod.GET, globalResponses()) + .globalResponses(HttpMethod.POST, globalResponses()) + .globalResponses(HttpMethod.PUT, globalResponses()) + .globalResponses(HttpMethod.DELETE, globalResponses()) + .globalResponses(HttpMethod.HEAD, globalResponses()) + .globalResponses(HttpMethod.OPTIONS, globalResponses()) .pathMapping("/") .groupName(ISystemConstant.API_GROUP_APP) .apiInfo(apiInfo()) @@ -72,6 +93,12 @@ public class SwaggerConfig { public Docket createRestApiWechat() { return new Docket(DocumentationType.OAS_30) .enable(swaggerProperties.getActive()) + .globalResponses(HttpMethod.GET, globalResponses()) + .globalResponses(HttpMethod.POST, globalResponses()) + .globalResponses(HttpMethod.PUT, globalResponses()) + .globalResponses(HttpMethod.DELETE, globalResponses()) + .globalResponses(HttpMethod.HEAD, globalResponses()) + .globalResponses(HttpMethod.OPTIONS, globalResponses()) .pathMapping("/") .groupName(ISystemConstant.API_GROUP_WECHAT) .apiInfo(apiInfo()) @@ -85,6 +112,12 @@ public class SwaggerConfig { public Docket createRestApiWechatMiniapp() { return new Docket(DocumentationType.OAS_30) .enable(swaggerProperties.getActive()) + .globalResponses(HttpMethod.GET, globalResponses()) + .globalResponses(HttpMethod.POST, globalResponses()) + .globalResponses(HttpMethod.PUT, globalResponses()) + .globalResponses(HttpMethod.DELETE, globalResponses()) + .globalResponses(HttpMethod.HEAD, globalResponses()) + .globalResponses(HttpMethod.OPTIONS, globalResponses()) .pathMapping("/") .groupName(ISystemConstant.API_GROUP_WECHAT_MINI_APP) .apiInfo(apiInfo()) @@ -94,6 +127,23 @@ public class SwaggerConfig { .build(); } + /** + * 全局响应 + * + * @return + */ + private List globalResponses() { + List responses = new ArrayList<>(); + responses.add(new ResponseBuilder().code("200").description("成功").build()); + responses.add(new ResponseBuilder().code("400").description("请求失败").build()); + responses.add(new ResponseBuilder().code("401").description("认证失败").build()); + responses.add(new ResponseBuilder().code("403").description("禁止访问").build()); + responses.add(new ResponseBuilder().code("404").description("未找到").build()); + responses.add(new ResponseBuilder().code("500").description("系统错误").build()); + return responses; + } + + /** * 设置授权信息 */ diff --git a/common/src/main/java/ink/wgink/common/service/api/impl/ApiInfoServiceImpl.java b/common/src/main/java/ink/wgink/common/service/api/impl/ApiInfoServiceImpl.java index 04ec4c1a..ca8954bb 100644 --- a/common/src/main/java/ink/wgink/common/service/api/impl/ApiInfoServiceImpl.java +++ b/common/src/main/java/ink/wgink/common/service/api/impl/ApiInfoServiceImpl.java @@ -252,7 +252,7 @@ public class ApiInfoServiceImpl extends DefaultBaseService implements IApiInfoSe Map requestParameter = new HashMap<>(); requestParameter.put("class", parameter.getClass()); requestParameter.put("name", parameter.getName()); - requestParameter.put("description", parameter.getDescription()); + requestParameter.put("description", StringUtils.isBlank(parameter.getDescription()) ? "" : parameter.getDescription()); String type = StringUtils.isBlank(parameter.getPattern()) ? "string" : parameter.getPattern(); requestParameter.put("in", parameter.getIn()); if (StringUtils.equals(parameter.getIn(), "body")) { @@ -266,14 +266,13 @@ public class ApiInfoServiceImpl extends DefaultBaseService implements IApiInfoSe if (parameter instanceof BodyParameter) { BodyParameter bodyParameter = (BodyParameter) parameter; Model schema = bodyParameter.getSchema(); - if (schema == null) { - continue; - } - requestParameter.put("schemaClass", schema.getClass()); - if (schema instanceof RefModel) { - RefModel refModel = (RefModel) schema; - ref = refModel.get$ref(); - simpleRef = refModel.getSimpleRef(); + if (schema != null) { + requestParameter.put("schemaClass", schema.getClass()); + if (schema instanceof RefModel) { + RefModel refModel = (RefModel) schema; + ref = refModel.get$ref(); + simpleRef = refModel.getSimpleRef(); + } } } requestParameter.put("ref", ref);