From 674502dfdff116e06852d482e45134c46d7cdb76 Mon Sep 17 00:00:00 2001 From: fengshuonan <sn93@qq.com> Date: Tue, 9 May 2023 18:20:22 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.6.0=E3=80=91=E3=80=90=E6=A1=86?= =?UTF-8?q?=E6=9E=B6=E6=94=B9=E9=80=A0=E3=80=91=E5=88=A0=E6=8E=89openapi?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel-d-openapi/README.md | 1 - kernel-d-openapi/openapi-api/pom.xml | 36 ------ .../api/constants/OpenApiConstants.java | 40 ------- .../api/exception/OpenApiException.java | 43 ------- .../openapi-sdk-springdoc/pom.xml | 35 ------ .../converter/GunsModelConverterImpl.java | 77 ------------- .../providers/GunsJavadocProviderImpl.java | 108 ------------------ .../openapi-spring-boot-starter/pom.xml | 29 ----- .../SpringdocOpenApiAutoConfiguration.java | 56 --------- .../main/resources/META-INF/spring.factories | 2 - kernel-d-openapi/pom.xml | 24 ---- pom.xml | 11 -- 12 files changed, 462 deletions(-) delete mode 100644 kernel-d-openapi/README.md delete mode 100644 kernel-d-openapi/openapi-api/pom.xml delete mode 100644 kernel-d-openapi/openapi-api/src/main/java/cn/stylefeng/roses/kernel/openapi/api/constants/OpenApiConstants.java delete mode 100644 kernel-d-openapi/openapi-api/src/main/java/cn/stylefeng/roses/kernel/openapi/api/exception/OpenApiException.java delete mode 100644 kernel-d-openapi/openapi-sdk-springdoc/pom.xml delete mode 100644 kernel-d-openapi/openapi-sdk-springdoc/src/main/java/cn/stylefeng/roses/kernel/springdoc/converter/GunsModelConverterImpl.java delete mode 100644 kernel-d-openapi/openapi-sdk-springdoc/src/main/java/cn/stylefeng/roses/kernel/springdoc/providers/GunsJavadocProviderImpl.java delete mode 100644 kernel-d-openapi/openapi-spring-boot-starter/pom.xml delete mode 100644 kernel-d-openapi/openapi-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/springdoc/starter/SpringdocOpenApiAutoConfiguration.java delete mode 100644 kernel-d-openapi/openapi-spring-boot-starter/src/main/resources/META-INF/spring.factories delete mode 100644 kernel-d-openapi/pom.xml diff --git a/kernel-d-openapi/README.md b/kernel-d-openapi/README.md deleted file mode 100644 index d3670146d..000000000 --- a/kernel-d-openapi/README.md +++ /dev/null @@ -1 +0,0 @@ -openapi接口文档适配 diff --git a/kernel-d-openapi/openapi-api/pom.xml b/kernel-d-openapi/openapi-api/pom.xml deleted file mode 100644 index 76380bae4..000000000 --- a/kernel-d-openapi/openapi-api/pom.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>cn.stylefeng.roses</groupId> - <artifactId>kernel-d-openapi</artifactId> - <version>7.6.0</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>openapi-api</artifactId> - - <packaging>jar</packaging> - - <dependencies> - - <!-- 开发规则 --> - <dependency> - <groupId>cn.stylefeng.roses</groupId> - <artifactId>kernel-a-rule</artifactId> - <version>${roses.version}</version> - </dependency> - - <!--资源模块的api--> - <dependency> - <groupId>cn.stylefeng.roses</groupId> - <artifactId>scanner-api</artifactId> - <version>${roses.version}</version> - </dependency> - - </dependencies> - -</project> \ No newline at end of file diff --git a/kernel-d-openapi/openapi-api/src/main/java/cn/stylefeng/roses/kernel/openapi/api/constants/OpenApiConstants.java b/kernel-d-openapi/openapi-api/src/main/java/cn/stylefeng/roses/kernel/openapi/api/constants/OpenApiConstants.java deleted file mode 100644 index e6347792c..000000000 --- a/kernel-d-openapi/openapi-api/src/main/java/cn/stylefeng/roses/kernel/openapi/api/constants/OpenApiConstants.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright [2020-2030] [https://www.stylefeng.cn] - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: - * - * 1.请不要删除和修改根目录下的LICENSE文件。 - * 2.请不要删除和修改Guns源码头部的版权声明。 - * 3.请保留源码和相关描述文件的项目出处,作者声明等。 - * 4.分发源码时候,请注明软件出处 https://gitee.com/stylefeng/guns - * 5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/stylefeng/guns - * 6.若您的项目无法满足以上几点,可申请商业授权 - */ -package cn.stylefeng.roses.kernel.openapi.api.constants; - -/** - * OpenApi模块的常量 - * - * @author caiti - * @since 2022-11-11 - */ -public interface OpenApiConstants { - - /** - * OpenApi模块的名称 - */ - String OPENAPI_MODULE_NAME = "kernel-d-openapi"; - -} diff --git a/kernel-d-openapi/openapi-api/src/main/java/cn/stylefeng/roses/kernel/openapi/api/exception/OpenApiException.java b/kernel-d-openapi/openapi-api/src/main/java/cn/stylefeng/roses/kernel/openapi/api/exception/OpenApiException.java deleted file mode 100644 index e9fb7acb0..000000000 --- a/kernel-d-openapi/openapi-api/src/main/java/cn/stylefeng/roses/kernel/openapi/api/exception/OpenApiException.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright [2020-2030] [https://www.stylefeng.cn] - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: - * - * 1.请不要删除和修改根目录下的LICENSE文件。 - * 2.请不要删除和修改Guns源码头部的版权声明。 - * 3.请保留源码和相关描述文件的项目出处,作者声明等。 - * 4.分发源码时候,请注明软件出处 https://gitee.com/stylefeng/guns - * 5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/stylefeng/guns - * 6.若您的项目无法满足以上几点,可申请商业授权 - */ -package cn.stylefeng.roses.kernel.openapi.api.exception; - -import cn.stylefeng.roses.kernel.openapi.api.constants.OpenApiConstants; -import cn.stylefeng.roses.kernel.rule.exception.AbstractExceptionEnum; -import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; - -/** - * OpenApi模块的异常 - * - * @author caiti - * @since 2022-11-11 - */ -public class OpenApiException extends ServiceException { - - public OpenApiException(AbstractExceptionEnum exceptionEnum) { - super(OpenApiConstants.OPENAPI_MODULE_NAME, exceptionEnum); - } - -} diff --git a/kernel-d-openapi/openapi-sdk-springdoc/pom.xml b/kernel-d-openapi/openapi-sdk-springdoc/pom.xml deleted file mode 100644 index 890ec04db..000000000 --- a/kernel-d-openapi/openapi-sdk-springdoc/pom.xml +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>cn.stylefeng.roses</groupId> - <artifactId>kernel-d-openapi</artifactId> - <version>7.6.0</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>openapi-sdk-springdoc</artifactId> - - <packaging>jar</packaging> - - <dependencies> - - <!-- openapi接口文档模块 --> - <dependency> - <groupId>cn.stylefeng.roses</groupId> - <artifactId>openapi-api</artifactId> - <version>${roses.version}</version> - </dependency> - - <dependency> - <groupId>org.springdoc</groupId> - <artifactId>springdoc-openapi-webmvc-core</artifactId> - </dependency> - - </dependencies> - - -</project> \ No newline at end of file diff --git a/kernel-d-openapi/openapi-sdk-springdoc/src/main/java/cn/stylefeng/roses/kernel/springdoc/converter/GunsModelConverterImpl.java b/kernel-d-openapi/openapi-sdk-springdoc/src/main/java/cn/stylefeng/roses/kernel/springdoc/converter/GunsModelConverterImpl.java deleted file mode 100644 index 83c34fbca..000000000 --- a/kernel-d-openapi/openapi-sdk-springdoc/src/main/java/cn/stylefeng/roses/kernel/springdoc/converter/GunsModelConverterImpl.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright [2020-2030] [https://www.stylefeng.cn] - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: - * - * 1.请不要删除和修改根目录下的LICENSE文件。 - * 2.请不要删除和修改Guns源码头部的版权声明。 - * 3.请保留源码和相关描述文件的项目出处,作者声明等。 - * 4.分发源码时候,请注明软件出处 https://gitee.com/stylefeng/guns - * 5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/stylefeng/guns - * 6.若您的项目无法满足以上几点,可申请商业授权 - */ -package cn.stylefeng.roses.kernel.springdoc.converter; - -import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription; -import io.swagger.v3.core.converter.AnnotatedType; -import io.swagger.v3.core.converter.ModelConverter; -import io.swagger.v3.core.converter.ModelConverterContext; -import io.swagger.v3.oas.models.media.Schema; - -import java.lang.annotation.Annotation; -import java.util.Iterator; -import java.util.Objects; - -/** - * 文档转换 - * - * @author caiti - * @since 2022-11-11 - */ -public class GunsModelConverterImpl implements ModelConverter { - - @Override - public Schema resolve(AnnotatedType annotatedType, ModelConverterContext context, Iterator<ModelConverter> chain) { - Schema schema = next(annotatedType, context, chain); - Annotation[] ctxAnnotations = annotatedType.getCtxAnnotations(); - if (Objects.isNull(ctxAnnotations)) { - return schema; - } - ChineseDescription chineseDescription = null; - for (Annotation ctxAnnotation : ctxAnnotations) { - if (ctxAnnotation instanceof ChineseDescription) { - chineseDescription = (ChineseDescription) ctxAnnotation; - break; - } - } - if (chineseDescription == null) { - return schema; - } - - if (schema != null) { - schema.setDescription(chineseDescription.value()); - } - return schema; - } - - private Schema next(AnnotatedType annotatedType, ModelConverterContext context, Iterator<ModelConverter> chain) { - if (chain.hasNext()) { - return chain.next().resolve(annotatedType, context, chain); - } else { - return null; - } - } - -} diff --git a/kernel-d-openapi/openapi-sdk-springdoc/src/main/java/cn/stylefeng/roses/kernel/springdoc/providers/GunsJavadocProviderImpl.java b/kernel-d-openapi/openapi-sdk-springdoc/src/main/java/cn/stylefeng/roses/kernel/springdoc/providers/GunsJavadocProviderImpl.java deleted file mode 100644 index 51b9ad1f8..000000000 --- a/kernel-d-openapi/openapi-sdk-springdoc/src/main/java/cn/stylefeng/roses/kernel/springdoc/providers/GunsJavadocProviderImpl.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright [2020-2030] [https://www.stylefeng.cn] - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: - * - * 1.请不要删除和修改根目录下的LICENSE文件。 - * 2.请不要删除和修改Guns源码头部的版权声明。 - * 3.请保留源码和相关描述文件的项目出处,作者声明等。 - * 4.分发源码时候,请注明软件出处 https://gitee.com/stylefeng/guns - * 5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/stylefeng/guns - * 6.若您的项目无法满足以上几点,可申请商业授权 - */ -package cn.stylefeng.roses.kernel.springdoc.providers; - -import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription; -import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource; -import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource; -import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource; -import org.springdoc.core.providers.JavadocProvider; -import org.springframework.core.annotation.AnnotatedElementUtils; -import org.springframework.lang.Nullable; - -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.Map; - -/** - * 文档转换 - * - * @author caiti - * @since 2022-11-11 - */ -public class GunsJavadocProviderImpl implements JavadocProvider { - - @Override - public String getClassJavadoc(Class<?> cl) { - ApiResource annotation = AnnotatedElementUtils.getMergedAnnotation(cl, ApiResource.class); - if (annotation != null) { - return annotation.name(); - } - return null; - } - - @Override - public String getMethodJavadocDescription(Method method) { - return getResourceName(method); - } - - @Override - public String getMethodJavadocReturn(Method method) { - return getResourceName(method); - } - - @Nullable - private String getResourceName(Method method) { - GetResource getAnnotation = AnnotatedElementUtils.getMergedAnnotation(method, GetResource.class); - if (getAnnotation != null) { - return getAnnotation.name(); - } - PostResource postAnnotation = AnnotatedElementUtils.getMergedAnnotation(method, PostResource.class); - if (postAnnotation != null) { - return postAnnotation.name(); - } - ApiResource apiAnnotation = AnnotatedElementUtils.getMergedAnnotation(method, ApiResource.class); - if (apiAnnotation != null) { - return apiAnnotation.name(); - } - return null; - } - - @Override - public Map<String, String> getMethodJavadocThrows(Method method) { - - return null; - } - - @Override - public String getParamJavadoc(Method method, String name) { - return null; - } - - @Override - public String getFieldJavadoc(Field field) { - ChineseDescription annotation = AnnotatedElementUtils.getMergedAnnotation(field, ChineseDescription.class); - if (annotation != null) { - return annotation.value(); - } - return null; - } - - @Override - public String getFirstSentence(String text) { - return text; - } - -} diff --git a/kernel-d-openapi/openapi-spring-boot-starter/pom.xml b/kernel-d-openapi/openapi-spring-boot-starter/pom.xml deleted file mode 100644 index 67babb8b9..000000000 --- a/kernel-d-openapi/openapi-spring-boot-starter/pom.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>cn.stylefeng.roses</groupId> - <artifactId>kernel-d-openapi</artifactId> - <version>7.6.0</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>openapi-spring-boot-starter</artifactId> - - <packaging>jar</packaging> - - <dependencies> - - <!-- openapi接口文档springdoc实现 --> - <dependency> - <groupId>cn.stylefeng.roses</groupId> - <artifactId>openapi-sdk-springdoc</artifactId> - <version>${roses.version}</version> - </dependency> - - </dependencies> - -</project> \ No newline at end of file diff --git a/kernel-d-openapi/openapi-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/springdoc/starter/SpringdocOpenApiAutoConfiguration.java b/kernel-d-openapi/openapi-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/springdoc/starter/SpringdocOpenApiAutoConfiguration.java deleted file mode 100644 index c006465f4..000000000 --- a/kernel-d-openapi/openapi-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/springdoc/starter/SpringdocOpenApiAutoConfiguration.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright [2020-2030] [https://www.stylefeng.cn] - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: - * - * 1.请不要删除和修改根目录下的LICENSE文件。 - * 2.请不要删除和修改Guns源码头部的版权声明。 - * 3.请保留源码和相关描述文件的项目出处,作者声明等。 - * 4.分发源码时候,请注明软件出处 https://gitee.com/stylefeng/guns - * 5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/stylefeng/guns - * 6.若您的项目无法满足以上几点,可申请商业授权 - */ -package cn.stylefeng.roses.kernel.springdoc.starter; - -import cn.stylefeng.roses.kernel.springdoc.converter.GunsModelConverterImpl; -import cn.stylefeng.roses.kernel.springdoc.providers.GunsJavadocProviderImpl; -import io.swagger.v3.core.converter.ModelConverter; -import org.springdoc.core.providers.JavadocProvider; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.Ordered; -import org.springframework.core.annotation.Order; - -/** - * openapi的自动装配 - * - * @author caiti - * @since 2022-11-11 - */ -@Configuration -public class SpringdocOpenApiAutoConfiguration { - - @Bean - @Order(Ordered.HIGHEST_PRECEDENCE) - public ModelConverter gunsSpringdocModelConverter() { - return new GunsModelConverterImpl(); - } - - @Bean - public JavadocProvider gunsSpringdocJavadocProvider() { - return new GunsJavadocProviderImpl(); - } - -} diff --git a/kernel-d-openapi/openapi-spring-boot-starter/src/main/resources/META-INF/spring.factories b/kernel-d-openapi/openapi-spring-boot-starter/src/main/resources/META-INF/spring.factories deleted file mode 100644 index 0f4a72fe5..000000000 --- a/kernel-d-openapi/openapi-spring-boot-starter/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,2 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ - cn.stylefeng.roses.kernel.springdoc.starter.SpringdocOpenApiAutoConfiguration diff --git a/kernel-d-openapi/pom.xml b/kernel-d-openapi/pom.xml deleted file mode 100644 index 589888bc9..000000000 --- a/kernel-d-openapi/pom.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>cn.stylefeng.roses</groupId> - <artifactId>roses-kernel</artifactId> - <version>7.6.0</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>kernel-d-openapi</artifactId> - - <packaging>pom</packaging> - - <modules> - <module>openapi-api</module> - <module>openapi-spring-boot-starter</module> - <module>openapi-sdk-springdoc</module> - </modules> - -</project> \ No newline at end of file diff --git a/pom.xml b/pom.xml index 29c0a028e..0fbf5712f 100644 --- a/pom.xml +++ b/pom.xml @@ -58,9 +58,6 @@ <!--office模块--> <module>kernel-d-office</module> - <!--open api适配--> - <module>kernel-d-openapi</module> - <!--拼音工具模块--> <module>kernel-d-pinyin</module> @@ -147,7 +144,6 @@ <pinyin4j.version>2.5.0</pinyin4j.version> <openfeign.version>2.2.6.RELEASE</openfeign.version> <bcprov.version>1.68</bcprov.version> - <springdoc.version>1.6.12</springdoc.version> <flyway.version>7.1.1</flyway.version> </properties> @@ -315,13 +311,6 @@ <version>${getty.version}</version> </dependency> - <!-- openapi接口文档 --> - <dependency> - <groupId>org.springdoc</groupId> - <artifactId>springdoc-openapi-webmvc-core</artifactId> - <version>${springdoc.version}</version> - </dependency> - </dependencies> </dependencyManagement>