From a26e49b14efe2610fb048a5917b8c5cd5176b784 Mon Sep 17 00:00:00 2001 From: tianliyong Date: Wed, 26 Oct 2022 15:38:32 +0800 Subject: [PATCH 01/15] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E7=A7=81=E4=BB=93?= =?UTF-8?q?=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- axzo-common-dependencies/pom.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/axzo-common-dependencies/pom.xml b/axzo-common-dependencies/pom.xml index ff78714..0751c8a 100644 --- a/axzo-common-dependencies/pom.xml +++ b/axzo-common-dependencies/pom.xml @@ -117,4 +117,12 @@ + + + + axzo + axzo repository + https://nexus.axzo.cn/repository/axzo/ + + \ No newline at end of file From 529d698d6d87b86571d85a19fd20f17a21066e1a Mon Sep 17 00:00:00 2001 From: tianliyong Date: Wed, 26 Oct 2022 15:45:05 +0800 Subject: [PATCH 02/15] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=A7=81=E4=BB=93?= =?UTF-8?q?=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- axzo-common-dependencies/pom.xml | 8 -------- pom.xml | 8 ++++++++ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/axzo-common-dependencies/pom.xml b/axzo-common-dependencies/pom.xml index 0751c8a..ff78714 100644 --- a/axzo-common-dependencies/pom.xml +++ b/axzo-common-dependencies/pom.xml @@ -117,12 +117,4 @@ - - - - axzo - axzo repository - https://nexus.axzo.cn/repository/axzo/ - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index 258c567..ae04f4e 100644 --- a/pom.xml +++ b/pom.xml @@ -64,4 +64,12 @@ + + + + axzo + axzo repository + https://nexus.axzo.cn/repository/axzo/ + + From 5c56901ee981b7336324ea548d1e2203e2cc492a Mon Sep 17 00:00:00 2001 From: tianliyong Date: Wed, 26 Oct 2022 15:53:44 +0800 Subject: [PATCH 03/15] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=BC=95=E5=85=A5?= =?UTF-8?q?=E7=A7=81=E4=BB=93=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- axzo-common-dependencies/pom.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/axzo-common-dependencies/pom.xml b/axzo-common-dependencies/pom.xml index ff78714..0751c8a 100644 --- a/axzo-common-dependencies/pom.xml +++ b/axzo-common-dependencies/pom.xml @@ -117,4 +117,12 @@ + + + + axzo + axzo repository + https://nexus.axzo.cn/repository/axzo/ + + \ No newline at end of file From 51c5d47674178324d8ecbe8a0dad489ad772d866 Mon Sep 17 00:00:00 2001 From: tianliyong Date: Wed, 26 Oct 2022 16:18:11 +0800 Subject: [PATCH 04/15] =?UTF-8?q?=E6=89=93=E5=8C=85=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- axzo-common-dependencies/pom.xml | 8 -------- pom.xml | 8 -------- 2 files changed, 16 deletions(-) diff --git a/axzo-common-dependencies/pom.xml b/axzo-common-dependencies/pom.xml index 0751c8a..ff78714 100644 --- a/axzo-common-dependencies/pom.xml +++ b/axzo-common-dependencies/pom.xml @@ -117,12 +117,4 @@ - - - - axzo - axzo repository - https://nexus.axzo.cn/repository/axzo/ - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index ae04f4e..258c567 100644 --- a/pom.xml +++ b/pom.xml @@ -64,12 +64,4 @@ - - - - axzo - axzo repository - https://nexus.axzo.cn/repository/axzo/ - - From f932d713eb55b0425929a5998ba1e339e00fcf61 Mon Sep 17 00:00:00 2001 From: tianliyong Date: Wed, 26 Oct 2022 16:51:19 +0800 Subject: [PATCH 05/15] =?UTF-8?q?=E7=B1=BB=E5=BA=93=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- axzo-common-autoconfigure/pom.xml | 1 - axzo-common-dependencies/pom.xml | 16 +++-- pom.xml | 114 ++++++++++++++++++++++++++++-- 3 files changed, 117 insertions(+), 14 deletions(-) diff --git a/axzo-common-autoconfigure/pom.xml b/axzo-common-autoconfigure/pom.xml index 1649ad3..20704d6 100644 --- a/axzo-common-autoconfigure/pom.xml +++ b/axzo-common-autoconfigure/pom.xml @@ -95,5 +95,4 @@ spring-security-web - \ No newline at end of file diff --git a/axzo-common-dependencies/pom.xml b/axzo-common-dependencies/pom.xml index ff78714..605130c 100644 --- a/axzo-common-dependencies/pom.xml +++ b/axzo-common-dependencies/pom.xml @@ -4,13 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - - cn.axzo.infra - axzo-dependencies - 2.0.0-SNAPSHOT - - - + cn.axzo.framework axzo-common-dependencies 1.0.0-SNAPSHOT pom @@ -117,4 +111,12 @@ + + + + axzo + axzo repository + https://nexus.axzo.cn/repository/axzo/ + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 258c567..d837068 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ http://www.example.com - axzo-common-dependencies + axzo-common-core axzo-common-math axzo-common-validator @@ -36,9 +36,10 @@ axzo-common-jackson - - - + + 2.0.0-SNAPSHOT + 1.0.0-SNAPSHOT + @@ -57,11 +58,112 @@ cn.axzo.infra - axzo-common-dependencies - 1.0.0-SNAPSHOT + axzo-dependencies + ${axzo-dependencies.version} pom import + + + cn.axzo.framework + axzo-common-core + ${axzo-commons.version} + + + cn.axzo.framework + axzo-common-math + ${axzo-commons.version} + + + cn.axzo.framework + axzo-common-validator + ${axzo-commons.version} + + + cn.axzo.framework + axzo-common-domain + ${axzo-commons.version} + + + + cn.axzo.framework.framework + axzo-common-context + ${axzo-commons.version} + + + cn.axzo.framework + axzo-common-boot + ${axzo-commons.version} + + + cn.axzo.framework + axzo-common-web + ${axzo-commons.version} + + + cn.axzo.framework + axzo-common-webmvc + ${axzo-commons.version} + + + + + cn.axzo.framework.logging + log4j2-starter + ${axzo-commons.version} + + + cn.axzo.framework.logging + logback-starter + ${axzo-commons.version} + + + + + cn.axzo.framework.client + retrofit-starter + ${axzo-commons.version} + + + + + cn.axzo.framework.jackson + jackson-datatype-enumstd + ${axzo-commons.version} + + + cn.axzo.framework.jackson + jackson-datatype-fraction + ${axzo-commons.version} + + + cn.axzo.framework.jackson + jackson-datatype-period + ${axzo-commons.version} + + + cn.axzo.framework.jackson + jackson-datatype-string-trim + ${axzo-commons.version} + + + cn.axzo.framework.jackson + jackson-utility + ${axzo-commons.version} + + + cn.axzo.framework.jackson + jackson-starter + ${axzo-commons.version} + + + + + axzo + axzo repository + https://nexus.axzo.cn/repository/axzo/ + + From 0f2fbf350f7d7acda03332192ae80892946d9f7f Mon Sep 17 00:00:00 2001 From: tianliyong Date: Wed, 26 Oct 2022 17:59:08 +0800 Subject: [PATCH 06/15] =?UTF-8?q?=E5=88=A0=E9=99=A4axzo-common-dependencie?= =?UTF-8?q?s=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- axzo-common-dependencies/pom.xml | 122 ------------------------------- pom.xml | 1 - 2 files changed, 123 deletions(-) delete mode 100644 axzo-common-dependencies/pom.xml diff --git a/axzo-common-dependencies/pom.xml b/axzo-common-dependencies/pom.xml deleted file mode 100644 index 605130c..0000000 --- a/axzo-common-dependencies/pom.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - 4.0.0 - - cn.axzo.framework - axzo-common-dependencies - 1.0.0-SNAPSHOT - pom - Axzo Common Dependencies - - - 1.0.0-SNAPSHOT - - - - - - - cn.axzo.framework - axzo-common-core - ${axzo.commons.version} - - - cn.axzo.framework - axzo-common-math - ${axzo.commons.version} - - - cn.axzo.framework - axzo-common-validator - ${axzo.commons.version} - - - cn.axzo.framework - axzo-common-domain - ${axzo.commons.version} - - - - cn.axzo.framework.framework - axzo-common-context - ${axzo.commons.version} - - - cn.axzo.framework - axzo-common-boot - ${axzo.commons.version} - - - cn.axzo.framework - axzo-common-web - ${axzo.commons.version} - - - cn.axzo.framework - axzo-common-webmvc - ${axzo.commons.version} - - - - - cn.axzo.framework.logging - log4j2-starter - ${axzo.commons.version} - - - cn.axzo.framework.logging - logback-starter - ${axzo.commons.version} - - - - - cn.axzo.framework.client - retrofit-starter - ${axzo.commons.version} - - - - - cn.axzo.framework.jackson - jackson-datatype-enumstd - ${axzo.commons.version} - - - cn.axzo.framework.jackson - jackson-datatype-fraction - ${axzo.commons.version} - - - cn.axzo.framework.jackson - jackson-datatype-period - ${axzo.commons.version} - - - cn.axzo.framework.jackson - jackson-datatype-string-trim - ${axzo.commons.version} - - - cn.axzo.framework.jackson - jackson-utility - ${axzo.commons.version} - - - cn.axzo.framework.jackson - jackson-starter - ${axzo.commons.version} - - - - - - - axzo - axzo repository - https://nexus.axzo.cn/repository/axzo/ - - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index d837068..289f714 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,6 @@ http://www.example.com - axzo-common-core axzo-common-math axzo-common-validator From 9db1311cf9337d44d730fae2ee2389d89d921a43 Mon Sep 17 00:00:00 2001 From: tianliyong Date: Thu, 27 Oct 2022 10:42:59 +0800 Subject: [PATCH 07/15] =?UTF-8?q?=E8=B0=83=E6=95=B4README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5149ee4..7d19ecf 100644 --- a/README.md +++ b/README.md @@ -17,5 +17,4 @@ axzo-framework-commons是常用基础类库和框架实践。包含子模块如 - axzo-framework-math: 封装科学计算相关工具 - axzo-framework-web: 封装spring-web - axzo-framework-webmvc: 封装spring-webmvc -- axzo-framework-dependencies: 管理所有依赖 - . ... From 28e15fe9756bad3c21a1c65be6c56bec5609d0b6 Mon Sep 17 00:00:00 2001 From: tianliyong Date: Fri, 28 Oct 2022 18:32:52 +0800 Subject: [PATCH 08/15] =?UTF-8?q?=E5=9F=BA=E4=BA=8Emybatis-plus=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MethodValidationAutoConfiguration.java | 7 ++- .../main/resources/META-INF/spring.factories | 2 +- axzo-common-domain/pom.xml | 5 ++ .../cn/axzo/framework/domain/page/Page.java | 1 - .../cn/axzo/framework/domain/page/PageQO.java | 49 +++++++++++++++ .../axzo/framework/domain/page/PageResp.java | 60 +++++++++++++++++++ .../domain/web/result/ApiPageResult.java | 5 ++ .../javax.validation.ConstraintValidator | 18 +++--- .../http/ApiPageEntity.java | 11 ++-- 9 files changed, 141 insertions(+), 17 deletions(-) create mode 100644 axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageQO.java create mode 100644 axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageResp.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/validation/MethodValidationAutoConfiguration.java b/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/validation/MethodValidationAutoConfiguration.java index 8259292..7886fe9 100644 --- a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/validation/MethodValidationAutoConfiguration.java +++ b/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/validation/MethodValidationAutoConfiguration.java @@ -1,11 +1,13 @@ package cn.axzo.framework.autoconfigure.validation; import lombok.val; +import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.AutoConfigureBefore; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnResource; import org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration; +import org.springframework.boot.validation.beanvalidation.MethodValidationExcludeFilter; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; @@ -28,7 +30,10 @@ public class MethodValidationAutoConfiguration { @Bean @ConditionalOnMissingBean public MethodValidationPostProcessor methodValidationPostProcessor(Environment environment, Validator validator) { - val processor = ValidationAutoConfiguration.methodValidationPostProcessor(environment, validator, null); + MethodValidationPostProcessor processor = new MethodValidationPostProcessor(); + boolean proxyTargetClass = (Boolean)environment.getProperty("spring.aop.proxy-target-class", Boolean.class, true); + processor.setProxyTargetClass(proxyTargetClass); + processor.setValidator(validator); processor.setBeforeExistingAdvisors(true); return processor; } diff --git a/axzo-common-autoconfigure/src/main/resources/META-INF/spring.factories b/axzo-common-autoconfigure/src/main/resources/META-INF/spring.factories index ba1b083..8f9a464 100644 --- a/axzo-common-autoconfigure/src/main/resources/META-INF/spring.factories +++ b/axzo-common-autoconfigure/src/main/resources/META-INF/spring.factories @@ -11,8 +11,8 @@ cn.axzo.framework.autoconfigure.data.IdAutoConfiguration,\ cn.axzo.framework.autoconfigure.web.cors.CorsAutoConfiguration,\ cn.axzo.framework.autoconfigure.web.PageWebAutoConfiguration,\ cn.axzo.framework.autoconfigure.web.exception.ExceptionHandlerAutoConfiguration,\ -# cn.axzo.framework.autoconfigure.web.swagger.SwaggerAutoConfiguration,\ cn.axzo.framework.autoconfigure.validation.SpringValidatorAutoConfiguration,\ cn.axzo.framework.autoconfigure.web.advice.BodyAdviceAutoConfiguration,\ cn.axzo.framework.autoconfigure.web.FilterAutoConfiguration,\ cn.axzo.framework.autoconfigure.web.context.WebMvcAwareAutoConfiguration +# cn.axzo.framework.autoconfigure.web.swagger.SwaggerAutoConfiguration,\ diff --git a/axzo-common-domain/pom.xml b/axzo-common-domain/pom.xml index b818aa2..cdda956 100644 --- a/axzo-common-domain/pom.xml +++ b/axzo-common-domain/pom.xml @@ -97,5 +97,10 @@ mybatis-plus-core provided + + com.baomidou + mybatis-plus-extension + provided + \ No newline at end of file diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/Page.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/Page.java index aae6f97..018fb70 100644 --- a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/Page.java +++ b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/Page.java @@ -1,6 +1,5 @@ package cn.axzo.framework.domain.page; - import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.util.ArrayList; diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageQO.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageQO.java new file mode 100644 index 0000000..9301eb4 --- /dev/null +++ b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageQO.java @@ -0,0 +1,49 @@ +package cn.axzo.framework.domain.page; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author: liyong.tian + * @Date: 2022/10/28 + * @Description: 基于mybatis-plus封装分页请求类 + */ +@Data +public class PageQO { + + @ApiModelProperty("当前页") + private Long page = 1L; + + @ApiModelProperty("每页大小") + private Long pageSize = 10L; + + //排序字段 + private String sortType; + //排序类型,(desc 降序,asc 升序) + private String sortDirection; + + //是否查询详情 + private boolean needDetail = true; + + public PageQO() { + } + + public Page toPage() { + if (this.page != null && this.page == -1L) { + this.page = 1L; + this.pageSize = 9999L; + return new Page(this.page, this.pageSize); + } else { + if (this.page == null || this.page == 0L) { + this.page = 1L; + } + + if (this.pageSize == null || this.pageSize == 0L) { + this.pageSize = 20L; + } + + return new Page(this.page, this.pageSize); + } + } +} diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageResp.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageResp.java new file mode 100644 index 0000000..1c07250 --- /dev/null +++ b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageResp.java @@ -0,0 +1,60 @@ +package cn.axzo.framework.domain.page; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.ArrayList; +import java.util.List; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.springframework.util.CollectionUtils; + +/** + * @Author: liyong.tian + * @Date: 2022/10/28 + * @Description: 基于mybatis-plus封装分页返回类 + */ +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class PageResp { + + /** + * 页码(从第1页开始) + */ + private Long page; + + /** + * 每页条数 + */ + private Long pageSize; + + /** + * 总记录数 + */ + private Long totalCount; + + private List list; + + public static PageResp zero(Long pageNum, Long pageSize) { + return new PageResp(pageNum, pageSize, 0L, new ArrayList<>()); + } + + public static PageResp list(Long page, Long pageSize, Long totalCount, List data) { + if (CollectionUtils.isEmpty(data)) { + return zero(page, pageSize); + } + return new PageResp(page, pageSize, totalCount, data); + } + + public static PageResp list(IPage page, List data) { + if (CollectionUtils.isEmpty(data)) { + return zero(page.getCurrent(), page.getSize()); + } + return new PageResp(page.getCurrent(), page.getSize(), page.getTotal(), data); + } + +} \ No newline at end of file diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java index 02d756f..c746189 100644 --- a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java +++ b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java @@ -2,6 +2,7 @@ package cn.axzo.framework.domain.web.result; import cn.axzo.framework.domain.page.Page; import cn.axzo.framework.domain.page.PageImpl; +import cn.axzo.framework.domain.page.PageResp; import cn.axzo.framework.domain.page.PageVerbose; import cn.axzo.framework.domain.page.Pageable; import cn.axzo.framework.domain.web.code.IRespCode; @@ -83,6 +84,10 @@ public class ApiPageResult extends ApiCoreResult> { return ok(page.getRecords(), page.getTotal(), (int)page.getCurrent(), (int)page.getSize()); } + public static ApiPageResult ok(PageResp page) { + return ok(page.getList(), page.getTotalCount(), page.getPage().intValue(), page.getPageSize().intValue()); + } + public static ApiPageResult ok(List data, Long total) { return build(total, SUCCESS.getRespCode(), SUCCESS.getMessage(), data, null, null, null); diff --git a/axzo-common-validator/src/main/resources/META-INF/services/javax.validation.ConstraintValidator b/axzo-common-validator/src/main/resources/META-INF/services/javax.validation.ConstraintValidator index b9d5920..a28d4da 100644 --- a/axzo-common-validator/src/main/resources/META-INF/services/javax.validation.ConstraintValidator +++ b/axzo-common-validator/src/main/resources/META-INF/services/javax.validation.ConstraintValidator @@ -1,22 +1,22 @@ # Assuming a custom constraint annotation @FractionMax -FractionMaxConstraintValidator -BigFractionMaxConstraintValidator +cn.axzo.framework.validator.constraintvalidators.FractionMaxConstraintValidator +cn.axzo.framework.validator.constraintvalidators.BigFractionMaxConstraintValidator # Assuming a custom constraint annotation @FractionMin -FractionMinConstraintValidator -BigFractionMinConstraintValidator +cn.axzo.framework.validator.constraintvalidators.FractionMinConstraintValidator +cn.axzo.framework.validator.constraintvalidators.BigFractionMinConstraintValidator # Assuming a custom constraint annotation @PeriodMax -PeriodMaxConstraintValidator +cn.axzo.framework.validator.constraintvalidators.PeriodMaxConstraintValidator # Assuming a custom constraint annotation @PeriodMin -PeriodMinConstraintValidator +cn.axzo.framework.validator.constraintvalidators.PeriodMinConstraintValidator # Assuming a custom constraint annotation @SizeIn -SizeInConstraintValidator +cn.axzo.framework.validator.constraintvalidators.SizeInConstraintValidator # Assuming a custom constraint annotation @ASCII -ASCIIConstraintValidator +cn.axzo.framework.validator.constraintvalidators.ASCIIConstraintValidator # Assuming a custom constraint annotation @UTF8 -UTF8ConstraintValidator \ No newline at end of file +cn.axzo.framework.validator.constraintvalidators.UTF8ConstraintValidator \ No newline at end of file diff --git a/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiPageEntity.java b/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiPageEntity.java index d2cdcf7..fe66994 100644 --- a/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiPageEntity.java +++ b/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiPageEntity.java @@ -1,5 +1,6 @@ package cn.axzo.framework.web.http; +import cn.axzo.framework.domain.page.PageResp; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.pagehelper.PageInfo; import cn.axzo.framework.core.net.Nets; @@ -57,11 +58,11 @@ public class ApiPageEntity extends ApiCoreEntity, ApiPageResult> { return status(HttpStatus.OK).ok(page); } -// public static ApiPageEntity ok(PageInfo pageInfo) { -// return status(HttpStatus.OK).ok(pageInfo); -// } + public static ApiPageEntity ok(PageInfo pageInfo) { + return status(HttpStatus.OK).ok(pageInfo); + } - public static ApiPageEntity ok(IPage page) { + public static ApiPageEntity ok(PageResp page) { return status(HttpStatus.OK).ok(page); } @@ -145,7 +146,7 @@ public class ApiPageEntity extends ApiCoreEntity, ApiPageResult> { public ApiPageEntity ok(PageInfo pageInfo) { return wrapper(ApiPageResult.ok(pageInfo)); } - public ApiPageEntity ok(IPage page) { + public ApiPageEntity ok(PageResp page) { return wrapper(ApiPageResult.ok(page)); } From 7af650deb5ec2f9463a5733d01d212f4a0d14169 Mon Sep 17 00:00:00 2001 From: tianliyong Date: Wed, 2 Nov 2022 17:16:52 +0800 Subject: [PATCH 09/15] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=B8=8E=E5=BD=93=E5=89=8D=E5=81=9A=E5=85=BC?= =?UTF-8?q?=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ApplicationReadyInfoAutoConfiguration.java | 5 + .../jackson/JacksonCustomer.java | 19 ++- .../axzo/framework/domain/page/PageImpl.java | 1 - .../framework/domain/web/code/BaseCode.java | 4 +- .../domain/web/result/ApiCoreResult.java | 6 +- .../domain/web/result/ApiListResult.java | 2 +- .../domain/web/result/ApiPageResult.java | 58 +++---- .../domain/web/result/ApiPageResult1.java | 161 ++++++++++++++++++ .../framework/domain/web/result/PageData.java | 33 ++++ axzo-common-web/pom.xml | 2 - .../http/ApiPageEntity.java | 3 +- 11 files changed, 236 insertions(+), 58 deletions(-) create mode 100644 axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult1.java create mode 100644 axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/PageData.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/env/ApplicationReadyInfoAutoConfiguration.java b/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/env/ApplicationReadyInfoAutoConfiguration.java index 462c833..aede591 100644 --- a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/env/ApplicationReadyInfoAutoConfiguration.java +++ b/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/env/ApplicationReadyInfoAutoConfiguration.java @@ -84,6 +84,11 @@ public class ApplicationReadyInfoAutoConfiguration { s.append("\tSwaggerUI:\t\t").append(protocol).append("://").append(ip) .append(":").append(port).append("/swagger-ui.html\n"); } + String knife4jPageLocation = "classpath:META-INF/resources/doc.html"; + if (Seq.of(activeProfiles).contains("swagger") && Resources.exists(knife4jPageLocation)) { + s.append("\tSwaggerUI:\t\t").append(protocol).append("://").append(ip) + .append(":").append(port).append("/doc.html\n"); + } } s.append("\tProfile(s):\t\t").append(Arrays.toString(activeProfiles)).append("\n"); s.append("----------------------------------------------------------------"); diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/jackson/JacksonCustomer.java b/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/jackson/JacksonCustomer.java index b37f6b7..d6945f7 100644 --- a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/jackson/JacksonCustomer.java +++ b/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/jackson/JacksonCustomer.java @@ -1,17 +1,18 @@ package cn.axzo.framework.autoconfigure.jackson; +import static com.fasterxml.jackson.annotation.JsonInclude.Include.USE_DEFAULTS; +import static com.fasterxml.jackson.core.JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER; +import static com.fasterxml.jackson.databind.DeserializationFeature.ACCEPT_FLOAT_AS_INT; +import static com.fasterxml.jackson.databind.DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY; +import static com.fasterxml.jackson.databind.DeserializationFeature.READ_DATE_TIMESTAMPS_AS_NANOSECONDS; +import static com.fasterxml.jackson.databind.MapperFeature.PROPAGATE_TRANSIENT_MARKER; +import static com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS; + +import java.util.TimeZone; import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.core.Ordered; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; -import java.util.TimeZone; - -import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_ABSENT; -import static com.fasterxml.jackson.core.JsonParser.Feature.ALLOW_BACKSLASH_ESCAPING_ANY_CHARACTER; -import static com.fasterxml.jackson.databind.DeserializationFeature.*; -import static com.fasterxml.jackson.databind.MapperFeature.PROPAGATE_TRANSIENT_MARKER; -import static com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS; - /** * @Description * @Author liyong.tian @@ -22,7 +23,7 @@ public class JacksonCustomer implements Jackson2ObjectMapperBuilderCustomizer, O @Override public void customize(Jackson2ObjectMapperBuilder builder) { - builder.serializationInclusion(NON_ABSENT); + builder.serializationInclusion(USE_DEFAULTS); builder.timeZone(TimeZone.getDefault()); // disable diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageImpl.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageImpl.java index d253ba6..0514b5c 100644 --- a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageImpl.java +++ b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageImpl.java @@ -49,7 +49,6 @@ public class PageImpl implements Page { } return new PageImpl<>(result, current, total); } - @Nonnull @Override public Page mapAll(Function, List> mapper) { diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/code/BaseCode.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/code/BaseCode.java index 39915e8..f9c42ea 100644 --- a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/code/BaseCode.java +++ b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/code/BaseCode.java @@ -16,10 +16,10 @@ import java.util.stream.Stream; @Description("基础错误码") public enum BaseCode implements IModuleRespCode{ - SUCCESS("000", "成功", 200) { + SUCCESS("000", "success", 200) { @Override public String getRespCode() { - return "0"; + return "200"; } }, BAD_REQUEST("400", "请求参数错误", 400), diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiCoreResult.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiCoreResult.java index 75874e5..d906334 100644 --- a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiCoreResult.java +++ b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiCoreResult.java @@ -10,7 +10,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.beans.Transient; -import java.util.LinkedHashMap; +import java.util.HashMap; import java.util.Map; import java.util.Objects; @@ -23,8 +23,8 @@ import static jodd.util.StringUtil.isNotBlank; * @Date 2020/9/7 20:28 **/ @Data -@AllArgsConstructor @NoArgsConstructor +@AllArgsConstructor @JsonPropertyOrder({"code", "msg", "data"}) public abstract class ApiCoreResult implements Result { @@ -74,7 +74,7 @@ public abstract class ApiCoreResult implements Result { @Override public Map toMap() { - Map map = new LinkedHashMap<>(); + Map map = new HashMap<>(); map.put("code", code); map.put("msg", msg); map.put("data", data); diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiListResult.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiListResult.java index f1598d6..69afa73 100644 --- a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiListResult.java +++ b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiListResult.java @@ -60,7 +60,7 @@ public class ApiListResult extends ApiCoreResult> { return new ApiListResult<>(code, message, data); } - @ConstructorProperties({"code", "message", "data"}) + @ConstructorProperties({"code", "msg", "data"}) public ApiListResult(String code, String message, List data) { super(code, message, data); } diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java index c746189..7e7633f 100644 --- a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java +++ b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java @@ -1,18 +1,12 @@ package cn.axzo.framework.domain.web.result; -import cn.axzo.framework.domain.page.Page; -import cn.axzo.framework.domain.page.PageImpl; -import cn.axzo.framework.domain.page.PageResp; -import cn.axzo.framework.domain.page.PageVerbose; -import cn.axzo.framework.domain.page.Pageable; +import cn.axzo.framework.domain.page.*; import cn.axzo.framework.domain.web.code.IRespCode; import com.baomidou.mybatisplus.core.metadata.IPage; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.github.pagehelper.PageInfo; import com.google.common.collect.Lists; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.EqualsAndHashCode; import lombok.ToString; import java.beans.ConstructorProperties; @@ -29,22 +23,9 @@ import static com.google.common.collect.Lists.newArrayList; * @Date 2020/9/7 20:32 **/ @Data -@EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) -@JsonPropertyOrder({"total", "code", "msg", "data", "pageNum", "pageSize", "verbose"}) -public class ApiPageResult extends ApiCoreResult> { - - @ApiModelProperty(value = "总记录数", position = 101, required = true) - private final Long total; - - @ApiModelProperty(value = "当前页", position = 102) - private final Integer pageNum; - - @ApiModelProperty(value = "每页显示数量", position = 103) - private final Integer pageSize; - - @ApiModelProperty(value = "分页冗余信息", position = 104) - private final PageVerbose verbose; +@JsonPropertyOrder({"code", "msg", "data"}) +public class ApiPageResult extends ApiCoreResult>{ public static ApiPageResult empty() { return ok(newArrayList(), 0L); @@ -90,7 +71,7 @@ public class ApiPageResult extends ApiCoreResult> { public static ApiPageResult ok(List data, Long total) { return build(total, SUCCESS.getRespCode(), SUCCESS.getMessage(), data, - null, null, null); + null, null, null); } public static ApiPageResult ok(List data, Long total, Integer pageNumber, Integer pageSize) { @@ -98,7 +79,7 @@ public class ApiPageResult extends ApiCoreResult> { } public static ApiPageResult ok(List data, Long total, Integer pageNumber, Integer pageSize, - PageVerbose verbose) { + PageVerbose verbose) { return build(total, SUCCESS.getRespCode(), SUCCESS.getMessage(), data, pageNumber, pageSize, verbose); } @@ -119,28 +100,31 @@ public class ApiPageResult extends ApiCoreResult> { } public static ApiPageResult build(Long total, IRespCode code, List data, - Integer pageNum, Integer pageSize) { + Integer pageNum, Integer pageSize) { return build(total, code.getRespCode(), code.getMessage(), data, pageNum, pageSize, null); } public static ApiPageResult build(Long total, String code, String message, List data, - Integer pageNum, Integer pageSize) { + Integer pageNum, Integer pageSize) { return new ApiPageResult<>(total, code, message, data, pageNum, pageSize, null); } public static ApiPageResult build(Long total, String code, String message, List data, - Integer pageNum, Integer pageSize, PageVerbose verbose) { + Integer pageNum, Integer pageSize, PageVerbose verbose) { return new ApiPageResult<>(total, code, message, data, pageNum, pageSize, verbose); } - @ConstructorProperties({"total", "code", "message", "data", "pageNum", "pageSize", "verbose"}) - public ApiPageResult(Long total, String code, String message, List data, Integer pageNum, Integer pageSize, + @ConstructorProperties({"code", "msg", "data"}) + public ApiPageResult(Long total, String code, String message, List list, Integer pageNum, Integer pageSize, PageVerbose verbose) { - super(code, message, data); - this.total = total; - this.pageNum = pageNum; - this.pageSize = pageSize; - this.verbose = verbose; + PageData data = new PageData(); + data.setList(list); + data.setTotalCount(total); + data.setPageNum(pageNum); + data.setPageSize(pageSize); + this.code = code; + this.msg = message; + this.data = data; } @Override @@ -148,15 +132,11 @@ public class ApiPageResult extends ApiCoreResult> { Map map = new LinkedHashMap<>(); map.put("code", code); map.put("msg", msg); - map.put("total", total); map.put("data", data); - map.put("pageNum", pageNum); - map.put("pageSize", pageSize); - map.put("verbose", verbose); return map; } public Page toPage(Pageable pageable) { - return new PageImpl<>(data == null ? Lists.newArrayList() : data, pageable, total); + return new PageImpl<>(data == null ? Lists.newArrayList() : data.getList(), pageable, data.getTotalCount()); } } diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult1.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult1.java new file mode 100644 index 0000000..9c0cdab --- /dev/null +++ b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult1.java @@ -0,0 +1,161 @@ +package cn.axzo.framework.domain.web.result; + +import static cn.axzo.framework.domain.web.code.BaseCode.SUCCESS; +import static com.google.common.collect.Lists.newArrayList; + +import cn.axzo.framework.domain.page.Page; +import cn.axzo.framework.domain.page.PageImpl; +import cn.axzo.framework.domain.page.PageResp; +import cn.axzo.framework.domain.page.PageVerbose; +import cn.axzo.framework.domain.page.Pageable; +import cn.axzo.framework.domain.web.code.IRespCode; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.github.pagehelper.PageInfo; +import com.google.common.collect.Lists; +import io.swagger.annotations.ApiModelProperty; +import java.beans.ConstructorProperties; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +/** + * @Description + * @Author liyong.tian + * @Date 2020/9/7 20:32 + **/ +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@JsonPropertyOrder({"total", "code", "msg", "data", "pageNum", "pageSize", "verbose"}) +public class ApiPageResult1 extends ApiCoreResult> { + + @ApiModelProperty(value = "总记录数", position = 101, required = true) + private final Long total; + + @ApiModelProperty(value = "当前页", position = 102) + private final Integer pageNum; + + @ApiModelProperty(value = "每页显示数量", position = 103) + private final Integer pageSize; + + @ApiModelProperty(value = "分页冗余信息", position = 104) + private final PageVerbose verbose; + + public static ApiPageResult1 empty() { + return ok(newArrayList(), 0L); + } + + public static ApiPageResult1 ok(Page page) { + Pageable current = page.current(); + + // data + List data = page.getContent(); + if (!current.needContent() && data.isEmpty()) { + data = null; + } + + // pageNum & pageSize + Integer pageNum = null; + Integer pageSize = null; + if (current.isFixEdge() && current.needContent()) { + pageNum = current.getPageNumber(); + pageSize = current.getPageSize(); + } + + // verbose + PageVerbose verbose = PageVerbose.of(page).orElse(null); + return ok(data, page.getTotal(), pageNum, pageSize, verbose); + } + + public static ApiPageResult1 ok(PageInfo pageInfo) { + return ok(pageInfo.getList(), pageInfo.getTotal(), pageInfo.getPageNum(), pageInfo.getPageSize()); + } + + public static ApiPageResult1 ok(org.springframework.data.domain.Page page) { + return ok(page.getContent(), page.getTotalElements()); + } + + public static ApiPageResult1 ok(IPage page) { + return ok(page.getRecords(), page.getTotal(), (int)page.getCurrent(), (int)page.getSize()); + } + + public static ApiPageResult1 ok(PageResp page) { + return ok(page.getList(), page.getTotalCount(), page.getPage().intValue(), page.getPageSize().intValue()); + } + + public static ApiPageResult1 ok(List data, Long total) { + return build(total, SUCCESS.getRespCode(), SUCCESS.getMessage(), data, + null, null, null); + } + + public static ApiPageResult1 ok(List data, Long total, Integer pageNumber, Integer pageSize) { + return build(total, SUCCESS.getRespCode(), SUCCESS.getMessage(), data, pageNumber, pageSize, null); + } + + public static ApiPageResult1 ok(List data, Long total, Integer pageNumber, Integer pageSize, + PageVerbose verbose) { + return build(total, SUCCESS.getRespCode(), SUCCESS.getMessage(), data, pageNumber, pageSize, verbose); + } + + public static ApiPageResult1 err(IRespCode code) { + return build(code); + } + + public static ApiPageResult1 err(IRespCode code, String message) { + return err(code.getRespCode(), message); + } + + public static ApiPageResult1 err(String code, String message) { + return build(null, code, message, null, null, null, null); + } + + public static ApiPageResult1 build(IRespCode code) { + return build(null, code, null, null, null); + } + + public static ApiPageResult1 build(Long total, IRespCode code, List data, + Integer pageNum, Integer pageSize) { + return build(total, code.getRespCode(), code.getMessage(), data, pageNum, pageSize, null); + } + + public static ApiPageResult1 build(Long total, String code, String message, List data, + Integer pageNum, Integer pageSize) { + return new ApiPageResult1<>(total, code, message, data, pageNum, pageSize, null); + } + + public static ApiPageResult1 build(Long total, String code, String message, List data, + Integer pageNum, Integer pageSize, PageVerbose verbose) { + return new ApiPageResult1<>(total, code, message, data, pageNum, pageSize, verbose); + } + + @ConstructorProperties({"total", "code", "message", "data", "pageNum", "pageSize", "verbose"}) + public ApiPageResult1(Long total, String code, String message, List data, Integer pageNum, Integer pageSize, + PageVerbose verbose) { + super(code, message, data); + this.total = total; + this.pageNum = pageNum; + this.pageSize = pageSize; + this.verbose = verbose; + } + + @Override + public Map toMap() { + Map map = new LinkedHashMap<>(); + map.put("code", code); + map.put("msg", msg); + map.put("total", total); + map.put("data", data); + map.put("pageNum", pageNum); + map.put("pageSize", pageSize); + map.put("verbose", verbose); + return map; + } + + public Page toPage(Pageable pageable) { + return new PageImpl<>(data == null ? Lists.newArrayList() : data, pageable, total); + } +} diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/PageData.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/PageData.java new file mode 100644 index 0000000..12451bb --- /dev/null +++ b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/PageData.java @@ -0,0 +1,33 @@ +package cn.axzo.framework.domain.web.result; + +import cn.axzo.framework.domain.page.PageVerbose; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PageData { + + @ApiModelProperty(value = "列表", position = 100, required = true) + private List list; + + @ApiModelProperty(value = "总记录数", position = 101, required = true) + private Long totalCount; + + @ApiModelProperty(value = "当前页", position = 102) + private Integer pageNum; + + @ApiModelProperty(value = "每页显示数量", position = 103) + private Integer pageSize; + +// @ApiModelProperty(value = "分页冗余信息", position = 104) +// private PageVerbose verbose; + +} diff --git a/axzo-common-web/pom.xml b/axzo-common-web/pom.xml index 56d5ced..6176422 100644 --- a/axzo-common-web/pom.xml +++ b/axzo-common-web/pom.xml @@ -37,13 +37,11 @@ com.github.pagehelper pagehelper - provided com.baomidou mybatis-plus-core - provided \ No newline at end of file diff --git a/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiPageEntity.java b/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiPageEntity.java index fe66994..d0f648e 100644 --- a/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiPageEntity.java +++ b/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiPageEntity.java @@ -1,6 +1,7 @@ package cn.axzo.framework.web.http; import cn.axzo.framework.domain.page.PageResp; +import cn.axzo.framework.domain.web.result.PageData; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.pagehelper.PageInfo; import cn.axzo.framework.core.net.Nets; @@ -20,7 +21,7 @@ import java.util.List; * @author liyong.tian * @since 2017/11/14 下午7:52 */ -public class ApiPageEntity extends ApiCoreEntity, ApiPageResult> { +public class ApiPageEntity extends ApiCoreEntity, ApiPageResult> { /** * Create a new {@code HttpEntity} with the given body, headers, and status code. From c144f66df5c3a137ac9ce398287081c4cdb879bf Mon Sep 17 00:00:00 2001 From: tianliyong Date: Thu, 3 Nov 2022 18:17:54 +0800 Subject: [PATCH 10/15] =?UTF-8?q?=E6=96=B0=E5=A2=9Efeign-starter=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- axzo-common-clients/feign-starter/pom.xml | 65 +++++++ .../FeignFallback.java | 64 +++++++ .../decoder/ApiResultErrorDecoder.java | 64 +++++++ .../logger/ClientDecorator.java | 29 +++ .../logger/FeignLogger.java | 179 ++++++++++++++++++ .../logger/RequestIOException.java | 24 +++ axzo-common-clients/pom.xml | 1 + .../axzo/framework/domain/page/PageResp.java | 13 +- .../domain/web/result/ApiPageResult.java | 4 + .../domain/web/result/ApiPageResult1.java | 161 ---------------- .../deser/BigFractionDeserializer.java | 2 +- .../fraction/deser/FractionDeserializer.java | 2 +- .../fraction/ser/BigFractionSerializer.java | 2 +- .../fraction/ser/FractionSerializer.java | 2 +- .../jackson/datatype/string/TrimModule.java | 2 +- .../string/deser/TrimDeserializer.java | 2 +- .../deser/TrimDeserializerModifier.java | 2 +- .../datatype/string/ser/TrimSerializer.java | 2 +- pom.xml | 5 + 19 files changed, 453 insertions(+), 172 deletions(-) create mode 100644 axzo-common-clients/feign-starter/pom.xml create mode 100644 axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/FeignFallback.java create mode 100644 axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/decoder/ApiResultErrorDecoder.java create mode 100644 axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/logger/ClientDecorator.java create mode 100644 axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/logger/FeignLogger.java create mode 100644 axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/logger/RequestIOException.java delete mode 100644 axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult1.java diff --git a/axzo-common-clients/feign-starter/pom.xml b/axzo-common-clients/feign-starter/pom.xml new file mode 100644 index 0000000..8062c81 --- /dev/null +++ b/axzo-common-clients/feign-starter/pom.xml @@ -0,0 +1,65 @@ + + + 4.0.0 + + + axzo-common-clients + cn.axzo.framework.client + 1.0.0-SNAPSHOT + + + feign-starter + Axzo Common Client Feign Starter + + + + + cn.axzo.framework + axzo-common-domain + + + cn.axzo.framework.jackson + jackson-starter + + + io.github.openfeign + feign-core + + + io.github.openfeign + feign-slf4j + + + io.github.openfeign + feign-hystrix + + + io.github.openfeign + feign-okhttp + + + com.squareup.okhttp3 + okhttp + + + + + com.squareup.okhttp3 + okhttp + + + io.github.openfeign.form + feign-form + + + + + io.github.openfeign.form + feign-form-spring + true + + + + \ No newline at end of file diff --git a/axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/FeignFallback.java b/axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/FeignFallback.java new file mode 100644 index 0000000..28ea106 --- /dev/null +++ b/axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/FeignFallback.java @@ -0,0 +1,64 @@ +package cn.axzo.framework.client.feign; + +import cn.axzo.framework.domain.web.ApiException; +import cn.axzo.framework.domain.web.code.IRespCode; +import cn.axzo.framework.domain.web.result.ApiListResult; +import cn.axzo.framework.domain.web.result.ApiPageResult; +import cn.axzo.framework.domain.web.result.ApiResult; +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +import javax.annotation.Nullable; + +/** + * @author liyong.tian + * @since 2022/11/3 + */ +@RequiredArgsConstructor +@Getter +@Slf4j +public class FeignFallback { + + @Nullable + private final Throwable cause; + + private final IRespCode respCode; + + public ApiResult resp() { + if (cause != null) { + log.error("Enter feign fallback", cause); + if (cause instanceof ApiException) { + return ApiResult.err(((ApiException) cause).getCode(), cause.getMessage()); + } + return ApiResult.err(respCode, cause.getMessage()); + } + log.error("Enter feign fallback,no cause catch"); + return ApiResult.err(respCode); + } + + public ApiPageResult pageResp() { + if (cause != null) { + log.error("Enter feign fallback", cause); + if (cause instanceof ApiException) { + return ApiPageResult.err(((ApiException) cause).getCode(), cause.getMessage()); + } + return ApiPageResult.err(respCode, cause.getMessage()); + } + log.error("Enter feign fallback,no cause catch"); + + return ApiPageResult.err(respCode); + } + + public ApiListResult listResp() { + if (cause != null) { + log.error("Enter feign fallback", cause); + if (cause instanceof ApiException) { + return ApiListResult.err(((ApiException) cause).getCode(), cause.getMessage()); + } + return ApiListResult.err(respCode, cause.getMessage()); + } + log.error("Enter feign fallback,no cause catch"); + return ApiListResult.err(respCode); + } +} diff --git a/axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/decoder/ApiResultErrorDecoder.java b/axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/decoder/ApiResultErrorDecoder.java new file mode 100644 index 0000000..7cf339a --- /dev/null +++ b/axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/decoder/ApiResultErrorDecoder.java @@ -0,0 +1,64 @@ +package cn.axzo.framework.client.feign.decoder; + +import cn.axzo.framework.core.util.ClassUtil; +import cn.axzo.framework.domain.ServiceException; +import cn.axzo.framework.domain.web.ApiException; +import cn.axzo.framework.domain.web.ClientException; +import cn.axzo.framework.domain.web.code.IRespCode; +import cn.axzo.framework.domain.web.code.RespCode; +import cn.axzo.framework.domain.web.http.HttpStatus; +import cn.axzo.framework.domain.web.result.ApiResult; +import cn.axzo.framework.jackson.utility.JSON; +import feign.Response; +import feign.codec.ErrorDecoder; +import lombok.extern.slf4j.Slf4j; + +import static cn.axzo.framework.core.Constants.CLIENT_MARKER; +import static cn.axzo.framework.domain.web.code.BaseCode.NOT_FOUND; +import static java.lang.String.format; + +/** + * @author liyong.tian + * @since 2022/11/3 + */ +@Slf4j +public class ApiResultErrorDecoder implements ErrorDecoder { + + private static final boolean isHystrixPresent; + + static { + isHystrixPresent = ClassUtil.isPresent( + "com.netflix.hystrix.exception.HystrixBadRequestException", + ApiResultErrorDecoder.class.getClassLoader() + ); + } + + public ApiResultErrorDecoder() { + log.info(format("Add Feign ErrorDecoder: %s, isHystrixPresent: %s", "ApiResultErrorDecoder", isHystrixPresent)); + } + + @Override + public Exception decode(String methodKey, Response response) { + try { + HttpStatus status = HttpStatus.valueOf(response.status()); + if (status == HttpStatus.NOT_FOUND) { + return new ApiException("url[" + response.request().url() + "] not found", NOT_FOUND); + } + + ApiResult apiResult = JSON.parseObject(response.body().asInputStream(), ApiResult.class); + String code = apiResult.getCode(); + if (code == null) { + return new ServiceException("ApiResult code is null"); + } + + IRespCode respCode = new RespCode(code, apiResult.getMsg()); + if (isHystrixPresent && status.is4xxClientError()) { + return new ClientException(respCode); // 不熔断 + } + return new ApiException(respCode); + } catch (Exception e) { + log.error(CLIENT_MARKER, format("%s reading %s ", e.getMessage(), methodKey), e); + return e; + } + } +} diff --git a/axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/logger/ClientDecorator.java b/axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/logger/ClientDecorator.java new file mode 100644 index 0000000..2e84488 --- /dev/null +++ b/axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/logger/ClientDecorator.java @@ -0,0 +1,29 @@ +package cn.axzo.framework.client.feign.logger; + +import feign.Client; +import feign.Request; +import feign.Response; + +import java.io.IOException; + +/** + * @author liyong.tian + * @since 2022/11/3 + */ +public class ClientDecorator implements Client { + + private final Client delegate; + + public ClientDecorator(Client delegate) { + this.delegate = delegate; + } + + @Override + public Response execute(Request request, Request.Options options) throws RequestIOException { + try { + return delegate.execute(request, options); + } catch (IOException e) { + throw new RequestIOException(request, e); + } + } +} diff --git a/axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/logger/FeignLogger.java b/axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/logger/FeignLogger.java new file mode 100644 index 0000000..c3b70d1 --- /dev/null +++ b/axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/logger/FeignLogger.java @@ -0,0 +1,179 @@ +package cn.axzo.framework.client.feign.logger; + +import com.google.common.base.Joiner; +import cn.axzo.framework.domain.http.*; +import cn.axzo.framework.domain.web.http.HttpStatus; +import feign.Request; +import feign.Response; +import feign.Util; +import feign.slf4j.Slf4jLogger; +import lombok.val; +import org.javatuples.Pair; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.util.List; +import java.util.Objects; + +import static cn.axzo.framework.core.Constants.CLIENT_MARKER; +import static java.nio.charset.Charset.defaultCharset; +import static java.util.stream.Collectors.toList; +import static jodd.util.StringPool.*; + +/** + * @author liyong.tian + * @since 2022/11/2 + */ +@SuppressWarnings("WeakerAccess") +public class FeignLogger extends Slf4jLogger { + + private final Logger log; + + private final HttpLogFormatter formatter; + + public FeignLogger(Class clazz) { + this(clazz, JsonHttpLogFormatter.INSTANCE); + } + + public FeignLogger(Class clazz, HttpLogFormatter formatter) { + super(clazz); + this.log = LoggerFactory.getLogger(clazz); + if (formatter == null) { + this.formatter = JsonHttpLogFormatter.INSTANCE; + } else { + this.formatter = formatter; + } + } + + @Override + protected void log(String configKey, String format, Object... args) { + IllegalStateException exception = new IllegalStateException("this method may not be invoked"); + log.error("will not happen", exception); + throw exception; + } + + @Override + protected void logRequest(String configKey, Level logLevel, Request request) { + // do nothing + } + + @Override + protected IOException logIOException(String configKey, Level logLevel, IOException ioe, long elapsedTime) { + if (logLevel == Level.NONE || !(ioe instanceof RequestIOException)) { + //响应日志 + HttpResponseLog responseLog = _responseLog(configKey, ioe, elapsedTime); + + //打印响应日志 + log.error(CLIENT_MARKER, formatter.format(responseLog), ioe); + return ioe; + } + + Request request = ((RequestIOException) ioe).getRequest(); + + //请求日志 + HttpRequestLog requestLog = _requestLog(request); + + //响应日志 + HttpResponseLog responseLog = _responseLog(request.url(), ioe, elapsedTime); + + //打印完整的请求响应日志 + log.error(CLIENT_MARKER, formatter.format(requestLog, responseLog), ioe); + return ioe; + } + + @Override + protected void logRetry(String configKey, Level logLevel) { + log.info(CLIENT_MARKER, methodTag(configKey) + "---> RETRYING"); + } + + @Override + protected Response logAndRebufferResponse(String configKey, Level logLevel, Response response, long elapsedTime) + throws IOException { + if (logLevel == Level.NONE) { + return response; + } + + //请求日志 + val requestLog = _requestLog(response.request()); + + //响应日志 + val responsePair = _responseLog(response, elapsedTime); + + //打印完整的请求响应日志 + log.info(CLIENT_MARKER, formatter.format(requestLog, responsePair.getValue0())); + return responsePair.getValue1(); + } + + private HttpRequestLog _requestLog(Request request) { + Objects.requireNonNull(request, "request cannot be null"); + + val logBuilder = HttpRequestLog.builder(); + + //protocol + logBuilder.protocol("HTTP/1.1"); + + //method + logBuilder.method(request.method()); + + //url + logBuilder.url(request.url()); + + //headers + List requestHeaders = request.headers().entrySet().stream() + .map(entry -> entry.getKey() + COLON + SPACE + Joiner.on(COMMA + SPACE).join(entry.getValue())) + .collect(toList()); + logBuilder.headers(requestHeaders); + + //body + if (!HttpHeaderUtil.isMultipartRequest(requestHeaders)) { + logBuilder.body(request.body() == null ? null : new String(request.body())); + } + + return logBuilder.build(); + } + + private Pair _responseLog(Response response, long elapsedTime) throws IOException { + val logBuilder = HttpResponseLog.builder(); + + HttpStatus status = HttpStatus.valueOf(response.status()); + List responseHeaders = response.headers().entrySet().stream() + .map(entry -> entry.getKey() + COLON + SPACE + Joiner.on(COMMA + SPACE).join(entry.getValue())) + .collect(toList()); + //url + logBuilder.url(response.request().url()); + + //status + logBuilder.status(status.value()); + + //msg + logBuilder.msg(status.getReasonPhrase()); + + //headers + logBuilder.headers(responseHeaders); + + //tookMs + logBuilder.tookMs(elapsedTime); + + //body + boolean canReadBody = response.body() != null && !HttpHeaderUtil.isDownloadResponse(responseHeaders); + if (canReadBody) { + byte[] bodyBytes = Util.toByteArray(response.body().asInputStream()); + logBuilder.body(new String(bodyBytes, defaultCharset())); + //流只能读一次,需要把响应重新构造一次 + response = response.toBuilder().body(bodyBytes).build(); + } else { + logBuilder.body(EMPTY); + } + + return Pair.with(logBuilder.build(), response); + } + + private HttpResponseLog _responseLog(String url, IOException ioe, long elapsedTime) { + return HttpResponseLog.builder() + .url(url) + .tookMs(elapsedTime) + .errorMsg(ioe.getClass().getSimpleName() + ": " + ioe.getMessage()) + .build(); + } +} diff --git a/axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/logger/RequestIOException.java b/axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/logger/RequestIOException.java new file mode 100644 index 0000000..38e96a6 --- /dev/null +++ b/axzo-common-clients/feign-starter/src/main/java/cn.axzo.framework.client.feign/logger/RequestIOException.java @@ -0,0 +1,24 @@ +package cn.axzo.framework.client.feign.logger; + +import feign.Request; +import lombok.Getter; + +import java.io.IOException; + +/** + * @author liyong.tian + * @since 2022/11/2 + */ +public class RequestIOException extends IOException { + + @Getter + private final Request request; + + private final IOException exception; + + public RequestIOException(Request request, IOException cause) { + super(cause instanceof RequestIOException ? ((RequestIOException) cause).exception : cause); + this.request = request; + this.exception = cause; + } +} diff --git a/axzo-common-clients/pom.xml b/axzo-common-clients/pom.xml index be6b81a..4ee445d 100644 --- a/axzo-common-clients/pom.xml +++ b/axzo-common-clients/pom.xml @@ -17,5 +17,6 @@ retrofit-starter + feign-starter \ No newline at end of file diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageResp.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageResp.java index 1c07250..9ebfe75 100644 --- a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageResp.java +++ b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/page/PageResp.java @@ -43,11 +43,11 @@ public class PageResp { return new PageResp(pageNum, pageSize, 0L, new ArrayList<>()); } - public static PageResp list(Long page, Long pageSize, Long totalCount, List data) { + public static PageResp list(Long pageNum, Long pageSize, Long totalCount, List data) { if (CollectionUtils.isEmpty(data)) { - return zero(page, pageSize); + return zero(pageNum, pageSize); } - return new PageResp(page, pageSize, totalCount, data); + return new PageResp(pageNum, pageSize, totalCount, data); } public static PageResp list(IPage page, List data) { @@ -57,4 +57,11 @@ public class PageResp { return new PageResp(page.getCurrent(), page.getSize(), page.getTotal(), data); } + public static PageResp list(PageQO page, Long totalCount, List data) { + if (CollectionUtils.isEmpty(data)) { + return zero(page.getPage(), page.getPageSize()); + } + return new PageResp(page.getPage(), page.getPageSize(), totalCount, data); + + } } \ No newline at end of file diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java index 7e7633f..c2ef174 100644 --- a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java +++ b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java @@ -139,4 +139,8 @@ public class ApiPageResult extends ApiCoreResult>{ public Page toPage(Pageable pageable) { return new PageImpl<>(data == null ? Lists.newArrayList() : data.getList(), pageable, data.getTotalCount()); } + + public PageResp toPage() { + return new PageResp(data.getPageNum().longValue(), data.getPageSize().longValue(), data.getTotalCount(), data.getList() == null ? Lists.newArrayList() : data.getList()); + } } diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult1.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult1.java deleted file mode 100644 index 9c0cdab..0000000 --- a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult1.java +++ /dev/null @@ -1,161 +0,0 @@ -package cn.axzo.framework.domain.web.result; - -import static cn.axzo.framework.domain.web.code.BaseCode.SUCCESS; -import static com.google.common.collect.Lists.newArrayList; - -import cn.axzo.framework.domain.page.Page; -import cn.axzo.framework.domain.page.PageImpl; -import cn.axzo.framework.domain.page.PageResp; -import cn.axzo.framework.domain.page.PageVerbose; -import cn.axzo.framework.domain.page.Pageable; -import cn.axzo.framework.domain.web.code.IRespCode; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import com.github.pagehelper.PageInfo; -import com.google.common.collect.Lists; -import io.swagger.annotations.ApiModelProperty; -import java.beans.ConstructorProperties; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -/** - * @Description - * @Author liyong.tian - * @Date 2020/9/7 20:32 - **/ -@Data -@EqualsAndHashCode(callSuper = true) -@ToString(callSuper = true) -@JsonPropertyOrder({"total", "code", "msg", "data", "pageNum", "pageSize", "verbose"}) -public class ApiPageResult1 extends ApiCoreResult> { - - @ApiModelProperty(value = "总记录数", position = 101, required = true) - private final Long total; - - @ApiModelProperty(value = "当前页", position = 102) - private final Integer pageNum; - - @ApiModelProperty(value = "每页显示数量", position = 103) - private final Integer pageSize; - - @ApiModelProperty(value = "分页冗余信息", position = 104) - private final PageVerbose verbose; - - public static ApiPageResult1 empty() { - return ok(newArrayList(), 0L); - } - - public static ApiPageResult1 ok(Page page) { - Pageable current = page.current(); - - // data - List data = page.getContent(); - if (!current.needContent() && data.isEmpty()) { - data = null; - } - - // pageNum & pageSize - Integer pageNum = null; - Integer pageSize = null; - if (current.isFixEdge() && current.needContent()) { - pageNum = current.getPageNumber(); - pageSize = current.getPageSize(); - } - - // verbose - PageVerbose verbose = PageVerbose.of(page).orElse(null); - return ok(data, page.getTotal(), pageNum, pageSize, verbose); - } - - public static ApiPageResult1 ok(PageInfo pageInfo) { - return ok(pageInfo.getList(), pageInfo.getTotal(), pageInfo.getPageNum(), pageInfo.getPageSize()); - } - - public static ApiPageResult1 ok(org.springframework.data.domain.Page page) { - return ok(page.getContent(), page.getTotalElements()); - } - - public static ApiPageResult1 ok(IPage page) { - return ok(page.getRecords(), page.getTotal(), (int)page.getCurrent(), (int)page.getSize()); - } - - public static ApiPageResult1 ok(PageResp page) { - return ok(page.getList(), page.getTotalCount(), page.getPage().intValue(), page.getPageSize().intValue()); - } - - public static ApiPageResult1 ok(List data, Long total) { - return build(total, SUCCESS.getRespCode(), SUCCESS.getMessage(), data, - null, null, null); - } - - public static ApiPageResult1 ok(List data, Long total, Integer pageNumber, Integer pageSize) { - return build(total, SUCCESS.getRespCode(), SUCCESS.getMessage(), data, pageNumber, pageSize, null); - } - - public static ApiPageResult1 ok(List data, Long total, Integer pageNumber, Integer pageSize, - PageVerbose verbose) { - return build(total, SUCCESS.getRespCode(), SUCCESS.getMessage(), data, pageNumber, pageSize, verbose); - } - - public static ApiPageResult1 err(IRespCode code) { - return build(code); - } - - public static ApiPageResult1 err(IRespCode code, String message) { - return err(code.getRespCode(), message); - } - - public static ApiPageResult1 err(String code, String message) { - return build(null, code, message, null, null, null, null); - } - - public static ApiPageResult1 build(IRespCode code) { - return build(null, code, null, null, null); - } - - public static ApiPageResult1 build(Long total, IRespCode code, List data, - Integer pageNum, Integer pageSize) { - return build(total, code.getRespCode(), code.getMessage(), data, pageNum, pageSize, null); - } - - public static ApiPageResult1 build(Long total, String code, String message, List data, - Integer pageNum, Integer pageSize) { - return new ApiPageResult1<>(total, code, message, data, pageNum, pageSize, null); - } - - public static ApiPageResult1 build(Long total, String code, String message, List data, - Integer pageNum, Integer pageSize, PageVerbose verbose) { - return new ApiPageResult1<>(total, code, message, data, pageNum, pageSize, verbose); - } - - @ConstructorProperties({"total", "code", "message", "data", "pageNum", "pageSize", "verbose"}) - public ApiPageResult1(Long total, String code, String message, List data, Integer pageNum, Integer pageSize, - PageVerbose verbose) { - super(code, message, data); - this.total = total; - this.pageNum = pageNum; - this.pageSize = pageSize; - this.verbose = verbose; - } - - @Override - public Map toMap() { - Map map = new LinkedHashMap<>(); - map.put("code", code); - map.put("msg", msg); - map.put("total", total); - map.put("data", data); - map.put("pageNum", pageNum); - map.put("pageSize", pageSize); - map.put("verbose", verbose); - return map; - } - - public Page toPage(Pageable pageable) { - return new PageImpl<>(data == null ? Lists.newArrayList() : data, pageable, total); - } -} diff --git a/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/deser/BigFractionDeserializer.java b/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/deser/BigFractionDeserializer.java index 409c616..dd2126b 100644 --- a/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/deser/BigFractionDeserializer.java +++ b/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/deser/BigFractionDeserializer.java @@ -20,7 +20,7 @@ import static jodd.util.StringPool.COMMA; * 1/100 * [1,100] * - * @author jearton + * @author liyong.tian * @since 2017/3/3 */ public class BigFractionDeserializer extends JsonDeserializer { diff --git a/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/deser/FractionDeserializer.java b/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/deser/FractionDeserializer.java index f2c3c90..42bf3ac 100644 --- a/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/deser/FractionDeserializer.java +++ b/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/deser/FractionDeserializer.java @@ -20,7 +20,7 @@ import static jodd.util.StringPool.COMMA; * 1/100 * [1,100] * - * @author jearton + * @author liyong.tian * @since 2017/3/2 */ public class FractionDeserializer extends JsonDeserializer { diff --git a/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/ser/BigFractionSerializer.java b/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/ser/BigFractionSerializer.java index 7ad1e13..a68b1b9 100644 --- a/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/ser/BigFractionSerializer.java +++ b/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/ser/BigFractionSerializer.java @@ -14,7 +14,7 @@ import java.io.IOException; * 1/100 * [1,100] * - * @author jearton + * @author liyong.tian * @since 2017/3/2 */ public class BigFractionSerializer extends JsonSerializer { diff --git a/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/ser/FractionSerializer.java b/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/ser/FractionSerializer.java index 175772d..9b2b9ae 100644 --- a/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/ser/FractionSerializer.java +++ b/axzo-common-jackson/jackson-datatype-fraction/src/main/java/cn/axzo/framework/jackson/datatype/fraction/ser/FractionSerializer.java @@ -14,7 +14,7 @@ import java.io.IOException; * 1/100 * [1,100] * - * @author jearton + * @author liyong.tian * @since 2017/3/2 */ public class FractionSerializer extends JsonSerializer { diff --git a/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/TrimModule.java b/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/TrimModule.java index eccd074..c533f11 100644 --- a/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/TrimModule.java +++ b/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/TrimModule.java @@ -7,7 +7,7 @@ import com.fasterxml.jackson.databind.module.SimpleModule; import static cn.axzo.framework.jackson.datatype.string.PackageVersion.VERSION; /** - * @author jearton + * @author liyong.tian * @since 2017/1/6 */ public class TrimModule extends SimpleModule { diff --git a/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/deser/TrimDeserializer.java b/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/deser/TrimDeserializer.java index d70dfe0..a14ef4b 100644 --- a/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/deser/TrimDeserializer.java +++ b/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/deser/TrimDeserializer.java @@ -8,7 +8,7 @@ import com.fasterxml.jackson.databind.deser.std.StringDeserializer; import java.io.IOException; /** - * @author jearton + * @author liyong.tian * @since 2017/1/6 */ public class TrimDeserializer extends StdScalarDeserializer { diff --git a/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/deser/TrimDeserializerModifier.java b/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/deser/TrimDeserializerModifier.java index 89a5b1a..0021139 100644 --- a/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/deser/TrimDeserializerModifier.java +++ b/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/deser/TrimDeserializerModifier.java @@ -7,7 +7,7 @@ import com.fasterxml.jackson.databind.deser.BeanDeserializerModifier; import com.fasterxml.jackson.databind.deser.std.StringDeserializer; /** - * @author jearton + * @author liyong.tian * @since 2017/1/6 */ public class TrimDeserializerModifier extends BeanDeserializerModifier { diff --git a/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/ser/TrimSerializer.java b/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/ser/TrimSerializer.java index 1e3bf33..7f4d871 100644 --- a/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/ser/TrimSerializer.java +++ b/axzo-common-jackson/jackson-datatype-string-trim/src/main/java/cn/axzo/framework/jackson/datatype/string/ser/TrimSerializer.java @@ -12,7 +12,7 @@ import java.io.IOException; import java.lang.reflect.Type; /** - * @author jearton + * @author liyong.tian * @since 2017/1/6 */ public class TrimSerializer extends StdScalarSerializer { diff --git a/pom.xml b/pom.xml index 289f714..d804123 100644 --- a/pom.xml +++ b/pom.xml @@ -123,6 +123,11 @@ retrofit-starter ${axzo-commons.version} + + cn.axzo.framework.client + feign-starter + ${axzo-commons.version} + From 9de7b666db77504b2eb6ee9fd46db507d8541570 Mon Sep 17 00:00:00 2001 From: tianliyong Date: Fri, 4 Nov 2022 15:30:58 +0800 Subject: [PATCH 11/15] =?UTF-8?q?=E5=B0=81=E8=A3=85mybatis-plus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../axzo-data-mybatis-plus/pom.xml | 49 ++++++++++++++++ .../config/EntityMetaObjectHandler.java | 56 +++++++++++++++++++ .../config/MybatisPlusAutoConfiguration.java | 30 ++++++++++ .../mybatisplus/model/BaseDataEntity.java | 12 ++++ .../data/mybatisplus/model/BaseEntity.java | 41 ++++++++++++++ .../data/mybatisplus/model/BaseOwnEntity.java | 27 +++++++++ .../data/mybatisplus/package-info.java | 1 + .../main/resources/META-INF/spring.factories | 2 + axzo-common-datas/pom.xml | 21 +++++++ pom.xml | 8 +++ 10 files changed, 247 insertions(+) create mode 100644 axzo-common-datas/axzo-data-mybatis-plus/pom.xml create mode 100644 axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/config/EntityMetaObjectHandler.java create mode 100644 axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/config/MybatisPlusAutoConfiguration.java create mode 100644 axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/model/BaseDataEntity.java create mode 100644 axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/model/BaseEntity.java create mode 100644 axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/model/BaseOwnEntity.java create mode 100644 axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/package-info.java create mode 100644 axzo-common-datas/axzo-data-mybatis-plus/src/main/resources/META-INF/spring.factories create mode 100644 axzo-common-datas/pom.xml diff --git a/axzo-common-datas/axzo-data-mybatis-plus/pom.xml b/axzo-common-datas/axzo-data-mybatis-plus/pom.xml new file mode 100644 index 0000000..0aff5f7 --- /dev/null +++ b/axzo-common-datas/axzo-data-mybatis-plus/pom.xml @@ -0,0 +1,49 @@ + + + 4.0.0 + + + axzo-common-datas + cn.axzo.framework.data + 1.0.0-SNAPSHOT + + + axzo-data-mybatis-plus + Axzo Common Data Mybatis Plus + + + + + org.springframework.boot + spring-boot-autoconfigure + + + + org.springframework + spring-context + + + org.springframework + spring-tx + + + + + com.baomidou + mybatis-plus-core + + + com.baomidou + mybatis-plus-extension + + + + + org.springframework.boot + spring-boot-configuration-processor + true + + + \ No newline at end of file diff --git a/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/config/EntityMetaObjectHandler.java b/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/config/EntityMetaObjectHandler.java new file mode 100644 index 0000000..22ab002 --- /dev/null +++ b/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/config/EntityMetaObjectHandler.java @@ -0,0 +1,56 @@ +package cn.axzo.framework.data.mybatisplus.config; + +import cn.axzo.framework.data.mybatisplus.model.BaseEntity; +import cn.axzo.framework.data.mybatisplus.model.BaseOwnEntity; +import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import org.apache.ibatis.reflection.MetaObject; + +import java.util.Date; + +/** + * @Author: liyong.tian + * @Date: 2022/11/4 11:34 + * @Description: + */ +public class EntityMetaObjectHandler implements MetaObjectHandler { + + @Override + public void insertFill(MetaObject metaObject) { + Object entity = metaObject.getOriginalObject(); + if (entity instanceof BaseEntity) { + //默认有值不覆盖 + this.fillStrategy(metaObject, "createAt", new Date()); + this.fillStrategy(metaObject, "updateAt", new Date()); + } + + if (entity instanceof BaseOwnEntity) { + //默认有值不覆盖 + this.fillStrategy(metaObject, "createBy", getAcctId()); + this.fillStrategy(metaObject, "updateBy", getAcctId()); + } + } + + @Override + public void updateFill(MetaObject metaObject) { + Object entity = metaObject.getOriginalObject(); + if (entity instanceof BaseEntity) { + //强制覆盖 + this.setFieldValByName("updateAt", new Date(), metaObject); + } + + if (entity instanceof BaseOwnEntity) { + //强制覆盖 + this.setFieldValByName("updateBy", getAcctId(), metaObject); + } + } + + /** + * 获取当前用户账户id + * + * @return + */ + private Long getAcctId() { + return 1L; + } + +} diff --git a/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/config/MybatisPlusAutoConfiguration.java b/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/config/MybatisPlusAutoConfiguration.java new file mode 100644 index 0000000..f364bee --- /dev/null +++ b/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/config/MybatisPlusAutoConfiguration.java @@ -0,0 +1,30 @@ +package cn.axzo.framework.data.mybatisplus.config; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +/** + * @Author: liyong.tian + * @Date: 2022/11/4 10:40 + * @Description: + */ +@EnableTransactionManagement +@Configuration +public class MybatisPlusAutoConfiguration { + + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); + return interceptor; + } + + @Bean + public EntityMetaObjectHandler EntityMetaObjectHandler () { + return new EntityMetaObjectHandler(); + } +} diff --git a/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/model/BaseDataEntity.java b/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/model/BaseDataEntity.java new file mode 100644 index 0000000..c538d6b --- /dev/null +++ b/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/model/BaseDataEntity.java @@ -0,0 +1,12 @@ +package cn.axzo.framework.data.mybatisplus.model; + +import com.baomidou.mybatisplus.extension.activerecord.Model; + +/** + * @Author: liyong.tian + * @Date: 2022/11/4 10:29 + * @Description: 支持类 + */ +public abstract class BaseDataEntity > extends BaseEntity{ + +} diff --git a/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/model/BaseEntity.java b/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/model/BaseEntity.java new file mode 100644 index 0000000..61e6653 --- /dev/null +++ b/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/model/BaseEntity.java @@ -0,0 +1,41 @@ +package cn.axzo.framework.data.mybatisplus.model; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; + +import java.util.Date; + +/** + * @Author: liyong.tian + * @Date: 2022/11/4 10:26 + * @Description: 实体基础类 + */ +@Data +public abstract class BaseEntity> extends Model { + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 是否删除:0否 1是 + */ + @TableField(value = "is_delete", fill = FieldFill.INSERT) + private Integer isDelete = 0; + + /** + * 创建时间 + */ + @TableField(value = "create_at", fill = FieldFill.INSERT) + private Date createAt; + + /** + * 修改时间 + */ + @TableField(value = "update_at", fill = FieldFill.INSERT_UPDATE) + private Date updateAt; +} + diff --git a/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/model/BaseOwnEntity.java b/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/model/BaseOwnEntity.java new file mode 100644 index 0000000..9198296 --- /dev/null +++ b/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/model/BaseOwnEntity.java @@ -0,0 +1,27 @@ +package cn.axzo.framework.data.mybatisplus.model; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; + +/** + * @Author: liyong.tian + * @Date: 2022/11/4 10:30 + * @Description: 支持类 + */ +@Data +public abstract class BaseOwnEntity> extends BaseDataEntity { + + /** + * 创建人 + */ + @TableField(fill = FieldFill.INSERT) + protected Long createBy; + + /** + * 修改人 + */ + @TableField(fill = FieldFill.UPDATE) + protected Long updateBy; +} diff --git a/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/package-info.java b/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/package-info.java new file mode 100644 index 0000000..e8ecbca --- /dev/null +++ b/axzo-common-datas/axzo-data-mybatis-plus/src/main/java/cn/axzo/framework/data/mybatisplus/package-info.java @@ -0,0 +1 @@ +package cn.axzo.framework.data.mybatisplus; \ No newline at end of file diff --git a/axzo-common-datas/axzo-data-mybatis-plus/src/main/resources/META-INF/spring.factories b/axzo-common-datas/axzo-data-mybatis-plus/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000..19e86e6 --- /dev/null +++ b/axzo-common-datas/axzo-data-mybatis-plus/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +cn.axzo.framework.data.mybatisplus.config.MybatisPlusAutoConfiguration \ No newline at end of file diff --git a/axzo-common-datas/pom.xml b/axzo-common-datas/pom.xml new file mode 100644 index 0000000..79cf886 --- /dev/null +++ b/axzo-common-datas/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + + + axzo-framework-commons + cn.axzo.framework + 1.0.0-SNAPSHOT + + + cn.axzo.framework.data + axzo-common-datas + pom + Axzo Common Data Parent + + + axzo-data-mybatis-plus + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index d804123..232a58c 100644 --- a/pom.xml +++ b/pom.xml @@ -33,6 +33,7 @@ axzo-common-webmvc axzo-common-autoconfigure axzo-common-jackson + axzo-common-datas @@ -129,6 +130,13 @@ ${axzo-commons.version} + + + cn.axzo.framework.data + axzo-data-mybatis-plus + ${axzo-commons.version} + + cn.axzo.framework.jackson From 04f0fc477cd8ebee3731b26979f73b74a16841e1 Mon Sep 17 00:00:00 2001 From: tianliyong Date: Sat, 5 Nov 2022 17:03:57 +0800 Subject: [PATCH 12/15] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/IdAutoConfiguration.java | 0 ...ApplicationReadyInfoAutoConfiguration.java | 0 .../BuildInConfigOverridePostProcessor.java | 0 .../jackson/JacksonCustomer.java | 0 .../JacksonModuleAutoConfiguration.java | 0 .../autoconfigure}/package-info.java | 0 .../MethodValidationAutoConfiguration.java | 0 .../SpringValidatorAutoConfiguration.java | 0 .../web/FilterAutoConfiguration.java | 0 .../web/PageWebAutoConfiguration.java | 0 .../advice/ApiResultDynamicBodyExtractor.java | 0 .../advice/BodyAdviceAutoConfiguration.java | 0 .../web/advice/DynamicBodyExtractor.java | 0 .../web/advice/DynamicResponseBodyAdvice.java | 0 .../web/advice/VerboseResultAdvice.java | 0 .../context/WebMvcAwareAutoConfiguration.java | 0 .../web/cors/CorsAutoConfiguration.java | 0 .../web/cors/CorsProperties.java | 0 .../ExceptionHandlerAutoConfiguration.java | 0 .../RespErrorCodeMappingProperties.java | 0 .../AbstractExceptionApiResultHandler.java | 0 .../handler/ExceptionApiResultHandler.java | 0 .../handler/ExceptionResultHandler.java | 0 .../AccessDeniedExceptionResultHandler.java | 0 ...entRegistrationExceptionReturnHandler.java | 0 ...currencyFailureExceptionResultHandler.java | 0 ...HttpClientErrorExceptionResultHandler.java | 0 .../OAuth2ExceptionResultHandler.java | 0 .../PageRequestExceptionResultHandler.java | 0 ...RequestRejectedExceptionResultHandler.java | 0 ...SpringValidatorExceptionResultHandler.java | 0 .../StandardExceptionResultHandler.java | 0 .../ValidationExceptionResultHandler.java | 0 .../resolver/HttpStatusResolver.java | 0 ...leTooLargeExceptionHttpStatusResolver.java | 0 ...stRejectedExceptionHttpStatusResolver.java | 0 .../support/GlobalErrorController.java | 0 .../support/GlobalExceptionHandler.java | 0 .../web/exception/support/Requests.java | 0 .../web/swagger/AxzoProperties.java | 30 ----------------- .../web/swagger/SwaggerAutoConfiguration.java | 0 .../customizer/BuildInSwaggerCustomizer.java | 0 .../customizer/SecuritySwaggerCustomizer.java | 0 .../swagger/customizer/SwaggerCustomizer.java | 0 .../client/retrofit/HttpLogInterceptor.java | 32 ++++++++++++++++++- .../HttpMessageConvertersConfigurer.java | 0 .../HttpMessageConvertersProperties.java | 0 ...RequestMappingHandlerAdapterLazyAware.java | 0 ...ppingHandlerAdapterLazyAwareProcessor.java | 0 .../filter/CustomServletRequestWrapper.java | 0 .../filter/OrderedBadRequestFilter.java | 0 .../servlet}/filter/OrderedTimerFilter.java | 0 .../filter/RequestMappingInfoFilter.java | 0 .../servlet}/filter/RequestReplaceFilter.java | 0 .../interceptor/HttpLogInterceptor.java | 0 .../interceptor/InterceptorRegistry.java | 0 .../config/InterceptorProperties.java | 0 .../method/ApiCoreEntityMethodParameter.java | 0 .../method/ApiCoreEntityMethodProcessor.java | 0 .../web/servlet}/rest/PaginationUtil.java | 0 .../servlet}/security/NoneRequestMatcher.java | 0 .../oauth/CustomOAuth2ExceptionRenderer.java | 0 .../servlet}/security/oauth/OAuth2Util.java | 0 .../SpringOAuth2AuthenticationEntryPoint.java | 0 .../ResourceSecurityCustomConfigurer.java | 0 .../CustomParameterDataTypeReader.java | 0 .../swagger/CustomParameterDefaultReader.java | 0 .../EnumExpandedParameterBuilderPlugin.java | 0 .../swagger/EnumFormatModelBuilderPlugin.java | 0 .../swagger/EnumModelPropertyBuilder.java | 0 .../EnumStdOperationBuilderPlugin.java | 0 .../servlet}/swagger/EnumStdPluginUtil.java | 0 ...FieldsParameterOperationBuilderPlugin.java | 0 .../FixApiModelPropertyPropertyBuilder.java | 0 .../swagger/FixParameterTypeReader.java | 0 .../swagger/FixedParameterRequiredReader.java | 0 .../PageableOperationBuilderPlugin.java | 0 .../servlet}/swagger/RequestEntityPlugin.java | 0 .../web/servlet}/swagger/ShowStatus.java | 0 .../TraceParameterOperationBuilderPlugin.java | 0 .../swagger/annotations/ApiPageableParam.java | 0 .../swagger/annotations/ApiSortParam.java | 0 .../swagger/annotations/ApiSortParams.java | 0 83 files changed, 31 insertions(+), 31 deletions(-) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/data/IdAutoConfiguration.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/env/ApplicationReadyInfoAutoConfiguration.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/env/BuildInConfigOverridePostProcessor.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/jackson/JacksonCustomer.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/jackson/JacksonModuleAutoConfiguration.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/package-info.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/validation/MethodValidationAutoConfiguration.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/validation/SpringValidatorAutoConfiguration.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/FilterAutoConfiguration.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/PageWebAutoConfiguration.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/advice/ApiResultDynamicBodyExtractor.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/advice/BodyAdviceAutoConfiguration.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/advice/DynamicBodyExtractor.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/advice/DynamicResponseBodyAdvice.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/advice/VerboseResultAdvice.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/context/WebMvcAwareAutoConfiguration.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/cors/CorsAutoConfiguration.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/cors/CorsProperties.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/ExceptionHandlerAutoConfiguration.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/RespErrorCodeMappingProperties.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/handler/AbstractExceptionApiResultHandler.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/handler/ExceptionApiResultHandler.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/handler/ExceptionResultHandler.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/handler/internal/AccessDeniedExceptionResultHandler.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/handler/internal/ClientRegistrationExceptionReturnHandler.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/handler/internal/ConcurrencyFailureExceptionResultHandler.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/handler/internal/HttpClientErrorExceptionResultHandler.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/handler/internal/OAuth2ExceptionResultHandler.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/handler/internal/PageRequestExceptionResultHandler.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/handler/internal/RequestRejectedExceptionResultHandler.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/handler/internal/SpringValidatorExceptionResultHandler.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/handler/internal/StandardExceptionResultHandler.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/handler/internal/ValidationExceptionResultHandler.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/resolver/HttpStatusResolver.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/resolver/internal/FileTooLargeExceptionHttpStatusResolver.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/resolver/internal/RequestRejectedExceptionHttpStatusResolver.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/support/GlobalErrorController.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/support/GlobalExceptionHandler.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/exception/support/Requests.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/swagger/AxzoProperties.java (60%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/swagger/SwaggerAutoConfiguration.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/swagger/customizer/BuildInSwaggerCustomizer.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/swagger/customizer/SecuritySwaggerCustomizer.java (100%) rename axzo-common-autoconfigure/src/main/java/{cn.axzo.framework.autoconfigure => cn/axzo/framework/autoconfigure}/web/swagger/customizer/SwaggerCustomizer.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/configurer/HttpMessageConvertersConfigurer.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/configurer/HttpMessageConvertersProperties.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/context/RequestMappingHandlerAdapterLazyAware.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/context/RequestMappingHandlerAdapterLazyAwareProcessor.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/filter/CustomServletRequestWrapper.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/filter/OrderedBadRequestFilter.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/filter/OrderedTimerFilter.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/filter/RequestMappingInfoFilter.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/filter/RequestReplaceFilter.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/interceptor/HttpLogInterceptor.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/interceptor/InterceptorRegistry.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/interceptor/config/InterceptorProperties.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/method/ApiCoreEntityMethodParameter.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/method/ApiCoreEntityMethodProcessor.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/rest/PaginationUtil.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/security/NoneRequestMatcher.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/security/oauth/CustomOAuth2ExceptionRenderer.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/security/oauth/OAuth2Util.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/security/oauth/SpringOAuth2AuthenticationEntryPoint.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/security/oauth/resource/ResourceSecurityCustomConfigurer.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/CustomParameterDataTypeReader.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/CustomParameterDefaultReader.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/EnumExpandedParameterBuilderPlugin.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/EnumFormatModelBuilderPlugin.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/EnumModelPropertyBuilder.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/EnumStdOperationBuilderPlugin.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/EnumStdPluginUtil.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/FieldsParameterOperationBuilderPlugin.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/FixApiModelPropertyPropertyBuilder.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/FixParameterTypeReader.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/FixedParameterRequiredReader.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/PageableOperationBuilderPlugin.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/RequestEntityPlugin.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/ShowStatus.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/TraceParameterOperationBuilderPlugin.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/annotations/ApiPageableParam.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/annotations/ApiSortParam.java (100%) rename axzo-common-webmvc/src/main/java/{cn.axzo.framework.web.servlet => cn/axzo/framework/web/servlet}/swagger/annotations/ApiSortParams.java (100%) diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/data/IdAutoConfiguration.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/data/IdAutoConfiguration.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/data/IdAutoConfiguration.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/data/IdAutoConfiguration.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/env/ApplicationReadyInfoAutoConfiguration.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/env/ApplicationReadyInfoAutoConfiguration.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/env/ApplicationReadyInfoAutoConfiguration.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/env/ApplicationReadyInfoAutoConfiguration.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/env/BuildInConfigOverridePostProcessor.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/env/BuildInConfigOverridePostProcessor.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/env/BuildInConfigOverridePostProcessor.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/env/BuildInConfigOverridePostProcessor.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/jackson/JacksonCustomer.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/jackson/JacksonCustomer.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/jackson/JacksonCustomer.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/jackson/JacksonCustomer.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/jackson/JacksonModuleAutoConfiguration.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/jackson/JacksonModuleAutoConfiguration.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/jackson/JacksonModuleAutoConfiguration.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/jackson/JacksonModuleAutoConfiguration.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/package-info.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/package-info.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/package-info.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/package-info.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/validation/MethodValidationAutoConfiguration.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/validation/MethodValidationAutoConfiguration.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/validation/MethodValidationAutoConfiguration.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/validation/MethodValidationAutoConfiguration.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/validation/SpringValidatorAutoConfiguration.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/validation/SpringValidatorAutoConfiguration.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/validation/SpringValidatorAutoConfiguration.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/validation/SpringValidatorAutoConfiguration.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/FilterAutoConfiguration.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/FilterAutoConfiguration.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/FilterAutoConfiguration.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/FilterAutoConfiguration.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/PageWebAutoConfiguration.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/PageWebAutoConfiguration.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/PageWebAutoConfiguration.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/PageWebAutoConfiguration.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/advice/ApiResultDynamicBodyExtractor.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/advice/ApiResultDynamicBodyExtractor.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/advice/ApiResultDynamicBodyExtractor.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/advice/ApiResultDynamicBodyExtractor.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/advice/BodyAdviceAutoConfiguration.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/advice/BodyAdviceAutoConfiguration.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/advice/BodyAdviceAutoConfiguration.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/advice/BodyAdviceAutoConfiguration.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/advice/DynamicBodyExtractor.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/advice/DynamicBodyExtractor.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/advice/DynamicBodyExtractor.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/advice/DynamicBodyExtractor.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/advice/DynamicResponseBodyAdvice.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/advice/DynamicResponseBodyAdvice.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/advice/DynamicResponseBodyAdvice.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/advice/DynamicResponseBodyAdvice.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/advice/VerboseResultAdvice.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/advice/VerboseResultAdvice.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/advice/VerboseResultAdvice.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/advice/VerboseResultAdvice.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/context/WebMvcAwareAutoConfiguration.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/context/WebMvcAwareAutoConfiguration.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/context/WebMvcAwareAutoConfiguration.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/context/WebMvcAwareAutoConfiguration.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/cors/CorsAutoConfiguration.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/cors/CorsAutoConfiguration.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/cors/CorsAutoConfiguration.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/cors/CorsAutoConfiguration.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/cors/CorsProperties.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/cors/CorsProperties.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/cors/CorsProperties.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/cors/CorsProperties.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/ExceptionHandlerAutoConfiguration.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/ExceptionHandlerAutoConfiguration.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/ExceptionHandlerAutoConfiguration.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/ExceptionHandlerAutoConfiguration.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/RespErrorCodeMappingProperties.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/RespErrorCodeMappingProperties.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/RespErrorCodeMappingProperties.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/RespErrorCodeMappingProperties.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/AbstractExceptionApiResultHandler.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/AbstractExceptionApiResultHandler.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/AbstractExceptionApiResultHandler.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/AbstractExceptionApiResultHandler.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/ExceptionApiResultHandler.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/ExceptionApiResultHandler.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/ExceptionApiResultHandler.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/ExceptionApiResultHandler.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/ExceptionResultHandler.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/ExceptionResultHandler.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/ExceptionResultHandler.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/ExceptionResultHandler.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/AccessDeniedExceptionResultHandler.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/AccessDeniedExceptionResultHandler.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/AccessDeniedExceptionResultHandler.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/AccessDeniedExceptionResultHandler.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/ClientRegistrationExceptionReturnHandler.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/ClientRegistrationExceptionReturnHandler.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/ClientRegistrationExceptionReturnHandler.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/ClientRegistrationExceptionReturnHandler.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/ConcurrencyFailureExceptionResultHandler.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/ConcurrencyFailureExceptionResultHandler.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/ConcurrencyFailureExceptionResultHandler.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/ConcurrencyFailureExceptionResultHandler.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/HttpClientErrorExceptionResultHandler.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/HttpClientErrorExceptionResultHandler.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/HttpClientErrorExceptionResultHandler.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/HttpClientErrorExceptionResultHandler.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/OAuth2ExceptionResultHandler.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/OAuth2ExceptionResultHandler.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/OAuth2ExceptionResultHandler.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/OAuth2ExceptionResultHandler.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/PageRequestExceptionResultHandler.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/PageRequestExceptionResultHandler.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/PageRequestExceptionResultHandler.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/PageRequestExceptionResultHandler.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/RequestRejectedExceptionResultHandler.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/RequestRejectedExceptionResultHandler.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/RequestRejectedExceptionResultHandler.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/RequestRejectedExceptionResultHandler.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/SpringValidatorExceptionResultHandler.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/SpringValidatorExceptionResultHandler.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/SpringValidatorExceptionResultHandler.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/SpringValidatorExceptionResultHandler.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/StandardExceptionResultHandler.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/StandardExceptionResultHandler.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/StandardExceptionResultHandler.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/StandardExceptionResultHandler.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/ValidationExceptionResultHandler.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/ValidationExceptionResultHandler.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/handler/internal/ValidationExceptionResultHandler.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/handler/internal/ValidationExceptionResultHandler.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/resolver/HttpStatusResolver.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/resolver/HttpStatusResolver.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/resolver/HttpStatusResolver.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/resolver/HttpStatusResolver.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/resolver/internal/FileTooLargeExceptionHttpStatusResolver.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/resolver/internal/FileTooLargeExceptionHttpStatusResolver.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/resolver/internal/FileTooLargeExceptionHttpStatusResolver.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/resolver/internal/FileTooLargeExceptionHttpStatusResolver.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/resolver/internal/RequestRejectedExceptionHttpStatusResolver.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/resolver/internal/RequestRejectedExceptionHttpStatusResolver.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/resolver/internal/RequestRejectedExceptionHttpStatusResolver.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/resolver/internal/RequestRejectedExceptionHttpStatusResolver.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/support/GlobalErrorController.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/support/GlobalErrorController.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/support/GlobalErrorController.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/support/GlobalErrorController.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/support/GlobalExceptionHandler.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/support/GlobalExceptionHandler.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/support/GlobalExceptionHandler.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/support/GlobalExceptionHandler.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/support/Requests.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/support/Requests.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/exception/support/Requests.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/exception/support/Requests.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/swagger/AxzoProperties.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/swagger/AxzoProperties.java similarity index 60% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/swagger/AxzoProperties.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/swagger/AxzoProperties.java index 52d9b66..7e31f5a 100644 --- a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/swagger/AxzoProperties.java +++ b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/swagger/AxzoProperties.java @@ -16,8 +16,6 @@ public class AxzoProperties { private Swagger swagger; - private YApi yApi; - @Data public static class Swagger { private boolean enabled = false; @@ -35,32 +33,4 @@ public class AxzoProperties { private String host = null; private String[] protocols = new String[0]; } - - @Data - public static class YApi { - /** - * 是否同步YApi - */ - public boolean enabled = false; - - /** - * 数据同步方式 normal"(普通模式) , "good"(智能合并), "merge"(完全覆盖) 三种模式 - */ - private String merge = "normal"; - - /** - * 对应文件夹的 token - */ - private String token; - - /** - * json 数据来源(代替 json 字符串)。 - */ - private String url; - - /** - * 组名称,一般 默认 default - */ - private String groupName = "default"; - } } diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/swagger/SwaggerAutoConfiguration.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/swagger/SwaggerAutoConfiguration.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/swagger/SwaggerAutoConfiguration.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/swagger/SwaggerAutoConfiguration.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/swagger/customizer/BuildInSwaggerCustomizer.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/swagger/customizer/BuildInSwaggerCustomizer.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/swagger/customizer/BuildInSwaggerCustomizer.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/swagger/customizer/BuildInSwaggerCustomizer.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/swagger/customizer/SecuritySwaggerCustomizer.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/swagger/customizer/SecuritySwaggerCustomizer.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/swagger/customizer/SecuritySwaggerCustomizer.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/swagger/customizer/SecuritySwaggerCustomizer.java diff --git a/axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/swagger/customizer/SwaggerCustomizer.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/swagger/customizer/SwaggerCustomizer.java similarity index 100% rename from axzo-common-autoconfigure/src/main/java/cn.axzo.framework.autoconfigure/web/swagger/customizer/SwaggerCustomizer.java rename to axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/swagger/customizer/SwaggerCustomizer.java diff --git a/axzo-common-clients/retrofit-starter/src/main/java/cn/axzo/framework/client/retrofit/HttpLogInterceptor.java b/axzo-common-clients/retrofit-starter/src/main/java/cn/axzo/framework/client/retrofit/HttpLogInterceptor.java index 4de9a36..d2f0331 100644 --- a/axzo-common-clients/retrofit-starter/src/main/java/cn/axzo/framework/client/retrofit/HttpLogInterceptor.java +++ b/axzo-common-clients/retrofit-starter/src/main/java/cn/axzo/framework/client/retrofit/HttpLogInterceptor.java @@ -1,5 +1,6 @@ package cn.axzo.framework.client.retrofit; +import cn.axzo.framework.core.net.FilterUtil; import cn.axzo.framework.domain.http.*; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; @@ -11,6 +12,9 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; +import static cn.axzo.framework.core.Constants.CLIENT_MARKER; +import static java.lang.System.nanoTime; +import static java.util.concurrent.TimeUnit.NANOSECONDS; import static okhttp3.Protocol.HTTP_1_1; /** @@ -46,7 +50,33 @@ public class HttpLogInterceptor implements Interceptor { @Override @ParametersAreNonnullByDefault public Response intercept(Chain chain) throws IOException { - return null; + //0.判断该请求是否要打日志 + Request request = chain.request(); + if (FilterUtil.matchFiltersURL(request.url().encodedPath(), ignoreUrlPatterns)) { + return chain.proceed(request); + } + + // 1.请求日志 + HttpRequestLog requestLog = _requestLog(chain.connection(), request); + + // 2.发送请求, 接收响应 + long startNs = nanoTime(); + Response response; + try { + response = chain.proceed(request); + } catch (Exception e) { + // 3.异常响应日志 + long tookMs = NANOSECONDS.toMillis(nanoTime() - startNs); + HttpResponseLog responseLog = _responseLog(request, tookMs, e); + log.error(CLIENT_MARKER, formatter.format(requestLog, responseLog), e); + throw e; + } + + // 3.正常响应日志 + long tookMs = NANOSECONDS.toMillis(nanoTime() - startNs); + HttpResponseLog responseLog = _responseLog(response, tookMs); + log.info(CLIENT_MARKER, formatter.format(requestLog, responseLog)); + return response; } /** diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/configurer/HttpMessageConvertersConfigurer.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/configurer/HttpMessageConvertersConfigurer.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/configurer/HttpMessageConvertersConfigurer.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/configurer/HttpMessageConvertersConfigurer.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/configurer/HttpMessageConvertersProperties.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/configurer/HttpMessageConvertersProperties.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/configurer/HttpMessageConvertersProperties.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/configurer/HttpMessageConvertersProperties.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/context/RequestMappingHandlerAdapterLazyAware.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/context/RequestMappingHandlerAdapterLazyAware.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/context/RequestMappingHandlerAdapterLazyAware.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/context/RequestMappingHandlerAdapterLazyAware.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/context/RequestMappingHandlerAdapterLazyAwareProcessor.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/context/RequestMappingHandlerAdapterLazyAwareProcessor.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/context/RequestMappingHandlerAdapterLazyAwareProcessor.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/context/RequestMappingHandlerAdapterLazyAwareProcessor.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/filter/CustomServletRequestWrapper.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/filter/CustomServletRequestWrapper.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/filter/CustomServletRequestWrapper.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/filter/CustomServletRequestWrapper.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/filter/OrderedBadRequestFilter.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/filter/OrderedBadRequestFilter.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/filter/OrderedBadRequestFilter.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/filter/OrderedBadRequestFilter.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/filter/OrderedTimerFilter.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/filter/OrderedTimerFilter.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/filter/OrderedTimerFilter.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/filter/OrderedTimerFilter.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/filter/RequestMappingInfoFilter.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/filter/RequestMappingInfoFilter.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/filter/RequestMappingInfoFilter.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/filter/RequestMappingInfoFilter.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/filter/RequestReplaceFilter.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/filter/RequestReplaceFilter.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/filter/RequestReplaceFilter.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/filter/RequestReplaceFilter.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/interceptor/HttpLogInterceptor.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/interceptor/HttpLogInterceptor.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/interceptor/HttpLogInterceptor.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/interceptor/HttpLogInterceptor.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/interceptor/InterceptorRegistry.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/interceptor/InterceptorRegistry.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/interceptor/InterceptorRegistry.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/interceptor/InterceptorRegistry.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/interceptor/config/InterceptorProperties.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/interceptor/config/InterceptorProperties.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/interceptor/config/InterceptorProperties.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/interceptor/config/InterceptorProperties.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/method/ApiCoreEntityMethodParameter.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreEntityMethodParameter.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/method/ApiCoreEntityMethodParameter.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreEntityMethodParameter.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/method/ApiCoreEntityMethodProcessor.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreEntityMethodProcessor.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/method/ApiCoreEntityMethodProcessor.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreEntityMethodProcessor.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/rest/PaginationUtil.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/rest/PaginationUtil.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/rest/PaginationUtil.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/rest/PaginationUtil.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/security/NoneRequestMatcher.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/NoneRequestMatcher.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/security/NoneRequestMatcher.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/NoneRequestMatcher.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/security/oauth/CustomOAuth2ExceptionRenderer.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/CustomOAuth2ExceptionRenderer.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/security/oauth/CustomOAuth2ExceptionRenderer.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/CustomOAuth2ExceptionRenderer.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/security/oauth/OAuth2Util.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/OAuth2Util.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/security/oauth/OAuth2Util.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/OAuth2Util.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/security/oauth/SpringOAuth2AuthenticationEntryPoint.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/SpringOAuth2AuthenticationEntryPoint.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/security/oauth/SpringOAuth2AuthenticationEntryPoint.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/SpringOAuth2AuthenticationEntryPoint.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/security/oauth/resource/ResourceSecurityCustomConfigurer.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/resource/ResourceSecurityCustomConfigurer.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/security/oauth/resource/ResourceSecurityCustomConfigurer.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/resource/ResourceSecurityCustomConfigurer.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/CustomParameterDataTypeReader.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/CustomParameterDataTypeReader.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/CustomParameterDataTypeReader.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/CustomParameterDataTypeReader.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/CustomParameterDefaultReader.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/CustomParameterDefaultReader.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/CustomParameterDefaultReader.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/CustomParameterDefaultReader.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/EnumExpandedParameterBuilderPlugin.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/EnumExpandedParameterBuilderPlugin.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/EnumExpandedParameterBuilderPlugin.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/EnumExpandedParameterBuilderPlugin.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/EnumFormatModelBuilderPlugin.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/EnumFormatModelBuilderPlugin.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/EnumFormatModelBuilderPlugin.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/EnumFormatModelBuilderPlugin.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/EnumModelPropertyBuilder.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/EnumModelPropertyBuilder.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/EnumModelPropertyBuilder.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/EnumModelPropertyBuilder.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/EnumStdOperationBuilderPlugin.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/EnumStdOperationBuilderPlugin.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/EnumStdOperationBuilderPlugin.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/EnumStdOperationBuilderPlugin.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/EnumStdPluginUtil.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/EnumStdPluginUtil.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/EnumStdPluginUtil.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/EnumStdPluginUtil.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/FieldsParameterOperationBuilderPlugin.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/FieldsParameterOperationBuilderPlugin.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/FieldsParameterOperationBuilderPlugin.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/FieldsParameterOperationBuilderPlugin.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/FixApiModelPropertyPropertyBuilder.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/FixApiModelPropertyPropertyBuilder.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/FixApiModelPropertyPropertyBuilder.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/FixApiModelPropertyPropertyBuilder.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/FixParameterTypeReader.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/FixParameterTypeReader.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/FixParameterTypeReader.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/FixParameterTypeReader.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/FixedParameterRequiredReader.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/FixedParameterRequiredReader.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/FixedParameterRequiredReader.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/FixedParameterRequiredReader.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/PageableOperationBuilderPlugin.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/PageableOperationBuilderPlugin.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/PageableOperationBuilderPlugin.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/PageableOperationBuilderPlugin.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/RequestEntityPlugin.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/RequestEntityPlugin.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/RequestEntityPlugin.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/RequestEntityPlugin.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/ShowStatus.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/ShowStatus.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/ShowStatus.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/ShowStatus.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/TraceParameterOperationBuilderPlugin.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/TraceParameterOperationBuilderPlugin.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/TraceParameterOperationBuilderPlugin.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/TraceParameterOperationBuilderPlugin.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/annotations/ApiPageableParam.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/annotations/ApiPageableParam.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/annotations/ApiPageableParam.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/annotations/ApiPageableParam.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/annotations/ApiSortParam.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/annotations/ApiSortParam.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/annotations/ApiSortParam.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/annotations/ApiSortParam.java diff --git a/axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/annotations/ApiSortParams.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/annotations/ApiSortParams.java similarity index 100% rename from axzo-common-webmvc/src/main/java/cn.axzo.framework.web.servlet/swagger/annotations/ApiSortParams.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/swagger/annotations/ApiSortParams.java From 0a8bc6daf3aa55760a86ddf1f199828ac5e337c9 Mon Sep 17 00:00:00 2001 From: tianliyong Date: Sat, 5 Nov 2022 18:03:19 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E7=B1=BB=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/swagger/SwaggerAutoConfiguration.java | 30 ++++----- ...piCoreEntity.java => ApiCoreResponse.java} | 4 +- ...piListEntity.java => ApiListResponse.java} | 54 +++++++-------- ...piPageEntity.java => ApiPageResponse.java} | 66 +++++++++---------- .../http/{ApiEntity.java => ApiResponse.java} | 64 +++++++++--------- .../filter/OrderedBadRequestFilter.java | 28 ++++---- ...va => ApiCoreResponseMethodParameter.java} | 10 +-- ...va => ApiCoreResponseMethodProcessor.java} | 16 ++--- .../oauth/CustomOAuth2ExceptionRenderer.java | 6 +- .../SpringOAuth2AuthenticationEntryPoint.java | 4 +- 10 files changed, 141 insertions(+), 141 deletions(-) rename axzo-common-web/src/main/java/cn.axzo.framework.web/http/{ApiCoreEntity.java => ApiCoreResponse.java} (94%) rename axzo-common-web/src/main/java/cn.axzo.framework.web/http/{ApiListEntity.java => ApiListResponse.java} (61%) rename axzo-common-web/src/main/java/cn.axzo.framework.web/http/{ApiPageEntity.java => ApiPageResponse.java} (60%) rename axzo-common-web/src/main/java/cn.axzo.framework.web/http/{ApiEntity.java => ApiResponse.java} (63%) rename axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/{ApiCoreEntityMethodParameter.java => ApiCoreResponseMethodParameter.java} (74%) rename axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/{ApiCoreEntityMethodProcessor.java => ApiCoreResponseMethodProcessor.java} (66%) diff --git a/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/swagger/SwaggerAutoConfiguration.java b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/swagger/SwaggerAutoConfiguration.java index 054860c..e6cf128 100644 --- a/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/swagger/SwaggerAutoConfiguration.java +++ b/axzo-common-autoconfigure/src/main/java/cn/axzo/framework/autoconfigure/web/swagger/SwaggerAutoConfiguration.java @@ -7,9 +7,9 @@ import cn.axzo.framework.domain.web.result.ApiListResult; import cn.axzo.framework.domain.web.result.ApiPageResult; import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.framework.context.Placeholders; -import cn.axzo.framework.web.http.ApiEntity; -import cn.axzo.framework.web.http.ApiListEntity; -import cn.axzo.framework.web.http.ApiPageEntity; +import cn.axzo.framework.web.http.ApiResponse; +import cn.axzo.framework.web.http.ApiListResponse; +import cn.axzo.framework.web.http.ApiPageResponse; import com.fasterxml.classmate.TypeResolver; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -124,35 +124,35 @@ public class SwaggerAutoConfiguration { ); } - @ConditionalOnClass(name = "cn.axzo.framework.web.http.ApiEntity") + @ConditionalOnClass(name = "cn.axzo.framework.web.http.ApiResponse") @Bean - public AlternateTypeRule apiEntityAlternateTypeRule(TypeResolver typeResolver) { + public AlternateTypeRule apiResponseAlternateTypeRule(TypeResolver typeResolver) { return AlternateTypeRules.newRule( - typeResolver.resolve(ApiEntity.class, WildcardType.class), + typeResolver.resolve(ApiResponse.class, WildcardType.class), typeResolver.resolve(ApiResult.class, WildcardType.class) ); } - @ConditionalOnClass(name = "cn.axzo.framework.web.http.ApiEntity") + @ConditionalOnClass(name = "cn.axzo.framework.web.http.ApiResponse") @Bean - public AlternateTypeRule callableApiEntityAlternateTypeRule(TypeResolver typeResolver) { + public AlternateTypeRule callableApiResponseAlternateTypeRule(TypeResolver typeResolver) { return newRule( - typeResolver.resolve(Callable.class, typeResolver.resolve(ApiEntity.class, WildcardType.class)), + typeResolver.resolve(Callable.class, typeResolver.resolve(ApiResponse.class, WildcardType.class)), typeResolver.resolve(ApiResult.class, WildcardType.class) ); } - @ConditionalOnClass(name = "cn.axzo.framework.web.http.ApiListEntity") + @ConditionalOnClass(name = "cn.axzo.framework.web.http.ApiListResponse") @Bean - public AlternateTypeRule apiListEntityAlternateTypeRule(TypeResolver typeResolver) { - return newRule(typeResolver.resolve(ApiListEntity.class, WildcardType.class), + public AlternateTypeRule apiListResponseAlternateTypeRule(TypeResolver typeResolver) { + return newRule(typeResolver.resolve(ApiListResponse.class, WildcardType.class), typeResolver.resolve(ApiListResult.class, WildcardType.class)); } - @ConditionalOnClass(name = "cn.axzo.framework.web.http.ApiPageEntity") + @ConditionalOnClass(name = "cn.axzo.framework.web.http.ApiPageResponse") @Bean - public AlternateTypeRule apiPageEntityAlternateTypeRule(TypeResolver typeResolver) { - return newRule(typeResolver.resolve(ApiPageEntity.class, WildcardType.class), + public AlternateTypeRule apiPageResponseAlternateTypeRule(TypeResolver typeResolver) { + return newRule(typeResolver.resolve(ApiPageResponse.class, WildcardType.class), typeResolver.resolve(ApiPageResult.class, WildcardType.class)); } diff --git a/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiCoreEntity.java b/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiCoreResponse.java similarity index 94% rename from axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiCoreEntity.java rename to axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiCoreResponse.java index baa17c2..0e832f3 100644 --- a/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiCoreEntity.java +++ b/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiCoreResponse.java @@ -18,7 +18,7 @@ import java.util.Set; */ @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) -public abstract class ApiCoreEntity> extends HttpEntity { +public abstract class ApiCoreResponse> extends HttpEntity { private final Object status; @@ -29,7 +29,7 @@ public abstract class ApiCoreEntity> extends HttpE * @param headers the entity headers * @param status the status code */ - public ApiCoreEntity(R body, MultiValueMap headers, HttpStatus status) { + public ApiCoreResponse(R body, MultiValueMap headers, HttpStatus status) { super(body, headers); Assert.notNull(status, "HttpStatus must not be null"); this.status = status; diff --git a/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiListEntity.java b/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiListResponse.java similarity index 61% rename from axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiListEntity.java rename to axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiListResponse.java index b831541..34a657f 100644 --- a/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiListEntity.java +++ b/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiListResponse.java @@ -16,7 +16,7 @@ import java.util.List; * @author liyong.tian * @since 2017/11/14 下午8:00 */ -public class ApiListEntity extends ApiCoreEntity, ApiListResult> { +public class ApiListResponse extends ApiCoreResponse, ApiListResult> { /** * Create a new {@code HttpEntity} with the given body, headers, and status code. @@ -25,7 +25,7 @@ public class ApiListEntity extends ApiCoreEntity, ApiListResult> { * @param headers the entity headers * @param status the status code */ - ApiListEntity(ApiListResult body, MultiValueMap headers, HttpStatus status) { + ApiListResponse(ApiListResult body, MultiValueMap headers, HttpStatus status) { super(body, headers, status); } @@ -35,7 +35,7 @@ public class ApiListEntity extends ApiCoreEntity, ApiListResult> { * @return the created builder * @since 4.1 */ - public static ApiListEntity ok() { + public static ApiListResponse ok() { return status(HttpStatus.OK).ok(); } @@ -46,20 +46,20 @@ public class ApiListEntity extends ApiCoreEntity, ApiListResult> { * @return the created {@code ResponseEntity} * @since 4.1 */ - public static ApiListEntity ok(List data) { + public static ApiListResponse ok(List data) { return status(HttpStatus.OK).ok(data); } - public static ApiListEntityBuilder status(@Nonnull HttpStatus status) { + public static ApiListResponseBuilder status(@Nonnull HttpStatus status) { Assert.notNull(status, "HttpStatus must not be null"); - return new ApiListEntityBuilder(status); + return new ApiListResponseBuilder(status); } - public static ApiListEntityBuilder header(String headerName, String... headerValues) { + public static ApiListResponseBuilder header(String headerName, String... headerValues) { return status(HttpStatus.OK).header(headerName, headerValues); } - public static ApiListEntityBuilder headers(HttpHeaders headers) { + public static ApiListResponseBuilder headers(HttpHeaders headers) { return status(HttpStatus.OK).headers(headers); } @@ -71,11 +71,11 @@ public class ApiListEntity extends ApiCoreEntity, ApiListResult> { * @return the created builder * @since 4.1 */ - public static ApiListEntityBuilder created(URI location) { + public static ApiListResponseBuilder created(URI location) { return status(HttpStatus.CREATED).location(location); } - public static ApiListEntityBuilder created(String location) { + public static ApiListResponseBuilder created(String location) { return status(HttpStatus.CREATED).location(Nets.uri(location)); } @@ -85,7 +85,7 @@ public class ApiListEntity extends ApiCoreEntity, ApiListResult> { * @return the created builder * @since 4.1 */ - public static ApiListEntityBuilder accepted() { + public static ApiListResponseBuilder accepted() { return status(HttpStatus.ACCEPTED); } @@ -95,7 +95,7 @@ public class ApiListEntity extends ApiCoreEntity, ApiListResult> { * @return the created builder * @since 4.1 */ - public static ApiListEntityBuilder badRequest() { + public static ApiListResponseBuilder badRequest() { return status(HttpStatus.BAD_REQUEST); } @@ -105,58 +105,58 @@ public class ApiListEntity extends ApiCoreEntity, ApiListResult> { * @return the created builder * @since 4.1 */ - public static ApiListEntityBuilder notFound() { + public static ApiListResponseBuilder notFound() { return status(HttpStatus.NOT_FOUND); } - public static class ApiListEntityBuilder extends AbstractBodySetter { + public static class ApiListResponseBuilder extends AbstractBodySetter { - private ApiListEntityBuilder(HttpStatus status) { + private ApiListResponseBuilder(HttpStatus status) { super(status); } - public ApiListEntity ok() { + public ApiListResponse ok() { return wrapper(ApiListResult.ok()); } - public ApiListEntity ok(List data) { + public ApiListResponse ok(List data) { return wrapper(ApiListResult.ok(data)); } - public ApiListEntity err(IRespCode code) { + public ApiListResponse err(IRespCode code) { return wrapper(ApiListResult.err(code)); } - public ApiListEntity err(IRespCode code, String message) { + public ApiListResponse err(IRespCode code, String message) { return wrapper(ApiListResult.err(code, message)); } - public ApiListEntity err(String message) { + public ApiListResponse err(String message) { return wrapper(ApiListResult.err(message)); } - public ApiListEntity err(IRespCode code, List data) { + public ApiListResponse err(IRespCode code, List data) { return wrapper(ApiListResult.err(code, data)); } - public ApiListEntity err(String code, String message) { + public ApiListResponse err(String code, String message) { return wrapper(ApiListResult.err(code, message)); } - public ApiListEntity build(IRespCode code) { + public ApiListResponse build(IRespCode code) { return wrapper(ApiListResult.build(code)); } - public ApiListEntity build(IRespCode code, List data) { + public ApiListResponse build(IRespCode code, List data) { return wrapper(ApiListResult.build(code, data)); } - public ApiListEntity build(String code, String message, List data) { + public ApiListResponse build(String code, String message, List data) { return wrapper(ApiListResult.build(code, message, data)); } - private ApiListEntity wrapper(ApiListResult result) { - return new ApiListEntity<>(result, super.headers, super.status); + private ApiListResponse wrapper(ApiListResult result) { + return new ApiListResponse<>(result, super.headers, super.status); } } } diff --git a/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiPageEntity.java b/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiPageResponse.java similarity index 60% rename from axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiPageEntity.java rename to axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiPageResponse.java index d0f648e..a5f6f0c 100644 --- a/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiPageEntity.java +++ b/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiPageResponse.java @@ -21,7 +21,7 @@ import java.util.List; * @author liyong.tian * @since 2017/11/14 下午7:52 */ -public class ApiPageEntity extends ApiCoreEntity, ApiPageResult> { +public class ApiPageResponse extends ApiCoreResponse, ApiPageResult> { /** * Create a new {@code HttpEntity} with the given body, headers, and status code. @@ -30,7 +30,7 @@ public class ApiPageEntity extends ApiCoreEntity, ApiPageResult body, MultiValueMap headers, HttpStatus status) { + public ApiPageResponse(ApiPageResult body, MultiValueMap headers, HttpStatus status) { super(body, headers, status); } @@ -40,7 +40,7 @@ public class ApiPageEntity extends ApiCoreEntity, ApiPageResult ApiPageEntity empty() { + public static ApiPageResponse empty() { return status(HttpStatus.OK).empty(); } @@ -51,32 +51,32 @@ public class ApiPageEntity extends ApiCoreEntity, ApiPageResult ApiPageEntity ok(Page page) { + public static ApiPageResponse ok(Page page) { return status(HttpStatus.OK).ok(page); } - public static ApiPageEntity ok(org.springframework.data.domain.Page page) { + public static ApiPageResponse ok(org.springframework.data.domain.Page page) { return status(HttpStatus.OK).ok(page); } - public static ApiPageEntity ok(PageInfo pageInfo) { + public static ApiPageResponse ok(PageInfo pageInfo) { return status(HttpStatus.OK).ok(pageInfo); } - public static ApiPageEntity ok(PageResp page) { + public static ApiPageResponse ok(PageResp page) { return status(HttpStatus.OK).ok(page); } - public static ApiPageEntityBuilder status(@Nonnull HttpStatus status) { + public static ApiPageResponseBuilder status(@Nonnull HttpStatus status) { Assert.notNull(status, "HttpStatus must not be null"); - return new ApiPageEntityBuilder(status); + return new ApiPageResponseBuilder(status); } - public static ApiPageEntityBuilder header(String headerName, String... headerValues) { + public static ApiPageResponseBuilder header(String headerName, String... headerValues) { return status(HttpStatus.OK).header(headerName, headerValues); } - public static ApiPageEntityBuilder headers(HttpHeaders headers) { + public static ApiPageResponseBuilder headers(HttpHeaders headers) { return status(HttpStatus.OK).headers(headers); } @@ -88,11 +88,11 @@ public class ApiPageEntity extends ApiCoreEntity, ApiPageResult extends ApiCoreEntity, ApiPageResult extends ApiCoreEntity, ApiPageResult extends ApiCoreEntity, ApiPageResult { + public static class ApiPageResponseBuilder extends AbstractBodySetter { - private ApiPageEntityBuilder(HttpStatus status) { + private ApiPageResponseBuilder(HttpStatus status) { super(status); } - public ApiPageEntity empty() { + public ApiPageResponse empty() { return wrapper(ApiPageResult.empty()); } - public ApiPageEntity ok(Page page) { + public ApiPageResponse ok(Page page) { return wrapper(ApiPageResult.ok(page)); } - public ApiPageEntity ok(org.springframework.data.domain.Page page) { + public ApiPageResponse ok(org.springframework.data.domain.Page page) { return wrapper(ApiPageResult.ok(page)); } - public ApiPageEntity ok(PageInfo pageInfo) { + public ApiPageResponse ok(PageInfo pageInfo) { return wrapper(ApiPageResult.ok(pageInfo)); } - public ApiPageEntity ok(PageResp page) { + public ApiPageResponse ok(PageResp page) { return wrapper(ApiPageResult.ok(page)); } - public ApiPageEntity ok(List data, Long total) { + public ApiPageResponse ok(List data, Long total) { return wrapper(ApiPageResult.ok(data, total)); } - public ApiPageEntity ok(List data, Long total, Integer pageNumber, Integer pageSize) { + public ApiPageResponse ok(List data, Long total, Integer pageNumber, Integer pageSize) { return wrapper(ApiPageResult.ok(data, total, pageNumber, pageSize)); } - public ApiPageEntity err(IRespCode code) { + public ApiPageResponse err(IRespCode code) { return wrapper(ApiPageResult.err(code)); } - public ApiPageEntity err(IRespCode code, String message) { + public ApiPageResponse err(IRespCode code, String message) { return wrapper(ApiPageResult.err(code, message)); } - public ApiPageEntity err(String code, String message) { + public ApiPageResponse err(String code, String message) { return wrapper(ApiPageResult.err(code, message)); } - public ApiPageEntity build(IRespCode code) { + public ApiPageResponse build(IRespCode code) { return wrapper(ApiPageResult.build(code)); } - public ApiPageEntity build(Long total, IRespCode code, List data, Integer pageNum, Integer pageSize) { + public ApiPageResponse build(Long total, IRespCode code, List data, Integer pageNum, Integer pageSize) { return wrapper(ApiPageResult.build(total, code, data, pageNum, pageSize)); } - public ApiPageEntity build(Long total, String code, String message, List data, + public ApiPageResponse build(Long total, String code, String message, List data, Integer pageNum, Integer pageSize) { return wrapper(ApiPageResult.build(total, code, message, data, pageNum, pageSize)); } - private ApiPageEntity wrapper(ApiPageResult result) { - return new ApiPageEntity<>(result, super.headers, super.status); + private ApiPageResponse wrapper(ApiPageResult result) { + return new ApiPageResponse<>(result, super.headers, super.status); } } } diff --git a/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiEntity.java b/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiResponse.java similarity index 63% rename from axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiEntity.java rename to axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiResponse.java index f81426a..a293b2a 100644 --- a/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiEntity.java +++ b/axzo-common-web/src/main/java/cn.axzo.framework.web/http/ApiResponse.java @@ -18,7 +18,7 @@ import java.util.function.Function; * @author liyong.tian * @since 2017/11/14 下午7:55 */ -public class ApiEntity extends ApiCoreEntity> { +public class ApiResponse extends ApiCoreResponse> { /** * Create a new {@code HttpEntity} with the given body, headers, and status code. @@ -27,16 +27,16 @@ public class ApiEntity extends ApiCoreEntity> { * @param headers the entity headers * @param status the status code */ - ApiEntity(ApiResult body, MultiValueMap headers, HttpStatus status) { + ApiResponse(ApiResult body, MultiValueMap headers, HttpStatus status) { super(body, headers, status); } - public ApiEntity map(Function mapper) { + public ApiResponse map(Function mapper) { ApiResult result = getBody().map(mapper); return status(getStatusCode()).headers(getHeaders()).wrapper(result); } - public static ApiEntity of(ResponseEntity entity) { + public static ApiResponse of(ResponseEntity entity) { return status(entity.getStatusCode()).headers(entity.getHeaders()).ok(entity.getBody()); } @@ -46,7 +46,7 @@ public class ApiEntity extends ApiCoreEntity> { * @return the created builder * @since 4.1 */ - public static ApiEntity ok() { + public static ApiResponse ok() { return status(HttpStatus.OK).ok(); } @@ -57,24 +57,24 @@ public class ApiEntity extends ApiCoreEntity> { * @return the created {@code ResponseEntity} * @since 4.1 */ - public static ApiEntity ok(E data) { + public static ApiResponse ok(E data) { return status(HttpStatus.OK).ok(data); } - public static ApiEntity build(IRespCode code, E data) { + public static ApiResponse build(IRespCode code, E data) { return status(HttpStatus.OK).build(code, data); } - public static ApiEntityBuilder status(@Nonnull HttpStatus status) { + public static ApiResponseBuilder status(@Nonnull HttpStatus status) { Assert.notNull(status, "HttpStatus must not be null"); - return new ApiEntityBuilder(status); + return new ApiResponseBuilder(status); } - public static ApiEntityBuilder header(String headerName, String... headerValues) { + public static ApiResponseBuilder header(String headerName, String... headerValues) { return status(HttpStatus.OK).header(headerName, headerValues); } - public static ApiEntityBuilder headers(HttpHeaders headers) { + public static ApiResponseBuilder headers(HttpHeaders headers) { return status(HttpStatus.OK).headers(headers); } @@ -86,11 +86,11 @@ public class ApiEntity extends ApiCoreEntity> { * @return the created builder * @since 4.1 */ - public static ApiEntityBuilder created(URI location) { + public static ApiResponseBuilder created(URI location) { return status(HttpStatus.CREATED).location(location); } - public static ApiEntityBuilder created(String location) { + public static ApiResponseBuilder created(String location) { return status(HttpStatus.CREATED).location(Nets.uri(location)); } @@ -100,7 +100,7 @@ public class ApiEntity extends ApiCoreEntity> { * @return the created builder * @since 4.1 */ - public static ApiEntityBuilder accepted() { + public static ApiResponseBuilder accepted() { return status(HttpStatus.ACCEPTED); } @@ -110,7 +110,7 @@ public class ApiEntity extends ApiCoreEntity> { * @return the created builder * @since 4.1 */ - public static ApiEntityBuilder badRequest() { + public static ApiResponseBuilder badRequest() { return status(HttpStatus.BAD_REQUEST); } @@ -120,69 +120,69 @@ public class ApiEntity extends ApiCoreEntity> { * @return the created builder * @since 4.1 */ - public static ApiEntityBuilder notFound() { + public static ApiResponseBuilder notFound() { return status(HttpStatus.NOT_FOUND); } - public static class ApiEntityBuilder extends AbstractBodySetter { + public static class ApiResponseBuilder extends AbstractBodySetter { - private ApiEntityBuilder(HttpStatus status) { + private ApiResponseBuilder(HttpStatus status) { super(status); } - public ApiEntity ok() { + public ApiResponse ok() { return wrapper(ApiResult.ok()); } - public ApiEntity ok(E data) { + public ApiResponse ok(E data) { return wrapper(ApiResult.ok(data)); } @SuppressWarnings("all") - public ApiEntity okOrNotFound(Optional optional) { + public ApiResponse okOrNotFound(Optional optional) { return optional.map(o -> wrapper(ApiResult.ok(o))).orElseGet(() -> { return wrapper(ApiResult.ok()); }); } - public ApiEntity err(IRespCode code) { + public ApiResponse err(IRespCode code) { return wrapper(ApiResult.err(code)); } - public ApiEntity err(IRespCode code, String message) { + public ApiResponse err(IRespCode code, String message) { return wrapper(ApiResult.err(code, message)); } - public ApiEntity err(IRespCode code, E data) { + public ApiResponse err(IRespCode code, E data) { return wrapper(ApiResult.err(code, data)); } - public ApiEntity err(String message) { + public ApiResponse err(String message) { return wrapper(ApiResult.err(message)); } - public ApiEntity err(String code, String message) { + public ApiResponse err(String code, String message) { return wrapper(ApiResult.err(code, message)); } - public ApiEntity with(Throwable e) { + public ApiResponse with(Throwable e) { return wrapper(ApiResult.with(e)); } - public ApiEntity build(IRespCode code) { + public ApiResponse build(IRespCode code) { return build(code, null); } - public ApiEntity build(IRespCode code, E data) { + public ApiResponse build(IRespCode code, E data) { return wrapper(ApiResult.build(code, data)); } - public ApiEntity build(String code, String message, E data) { + public ApiResponse build(String code, String message, E data) { return wrapper(ApiResult.build(code, message, data)); } - ApiEntity wrapper(ApiResult result) { - return new ApiEntity<>(result, super.headers, super.status); + ApiResponse wrapper(ApiResult result) { + return new ApiResponse<>(result, super.headers, super.status); } } } diff --git a/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/filter/OrderedBadRequestFilter.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/filter/OrderedBadRequestFilter.java index aaf5c21..b6a39c5 100644 --- a/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/filter/OrderedBadRequestFilter.java +++ b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/filter/OrderedBadRequestFilter.java @@ -2,7 +2,7 @@ package cn.axzo.framework.web.servlet.filter; import cn.axzo.framework.core.util.ClassUtil; import cn.axzo.framework.domain.web.code.BaseCode; -import cn.axzo.framework.web.http.ApiEntity; +import cn.axzo.framework.web.http.ApiResponse; import cn.axzo.framework.web.servlet.context.RequestMappingHandlerAdapterLazyAware; import io.undertow.server.RequestTooBigException; import io.undertow.server.handlers.form.MultiPartParserDefinition; @@ -87,7 +87,7 @@ public class OrderedBadRequestFilter extends OncePerRequestFilter implements Ord return; } - ApiEntity returnValue = _decideReturnValue(ex); + ApiResponse returnValue = _decideReturnValue(ex); MethodParameter returnType = new ReturnValueMethodParameter(returnValue); val returnValueHandler = _getReturnValueHandler(returnType); if (returnValueHandler == null) { @@ -125,38 +125,38 @@ public class OrderedBadRequestFilter extends OncePerRequestFilter implements Ord .orElse(null); } - private ApiEntity _decideReturnValue(Exception ex) { - ApiEntity returnValue; + private ApiResponse _decideReturnValue(Exception ex) { + ApiResponse returnValue; if (ex instanceof IllegalArgumentException) { - return ApiEntity.badRequest().err(BAD_REQUEST, ex.getMessage()); + return ApiResponse.badRequest().err(BAD_REQUEST, ex.getMessage()); } else if (ex instanceof StringIndexOutOfBoundsException) { - return ApiEntity.badRequest().err(BAD_REQUEST, ERROR_FORM_DATA_NOT_ENCODED); + return ApiResponse.badRequest().err(BAD_REQUEST, ERROR_FORM_DATA_NOT_ENCODED); } else if (ex instanceof IllegalStateException) { return _decideReturnValue((IllegalStateException) ex); } else if (ex instanceof RuntimeException) { return _decideReturnValue((RuntimeException) ex); } - return ApiEntity.status(INTERNAL_SERVER_ERROR).err(BaseCode.SERVER_ERROR); + return ApiResponse.status(INTERNAL_SERVER_ERROR).err(BaseCode.SERVER_ERROR); } - private ApiEntity _decideReturnValue(IllegalStateException ex) { + private ApiResponse _decideReturnValue(IllegalStateException ex) { if (isUndertow) { Throwable cause = ex.getCause(); if (cause instanceof RequestTooBigException) { - return ApiEntity.status(HttpStatus.PAYLOAD_TOO_LARGE).err(PAYLOAD_TOO_LARGE, cause.getMessage()); + return ApiResponse.status(HttpStatus.PAYLOAD_TOO_LARGE).err(PAYLOAD_TOO_LARGE, cause.getMessage()); } if (cause instanceof MultiPartParserDefinition.FileTooLargeException) { - return ApiEntity.status(HttpStatus.PAYLOAD_TOO_LARGE).err(PAYLOAD_TOO_LARGE, cause.getMessage()); + return ApiResponse.status(HttpStatus.PAYLOAD_TOO_LARGE).err(PAYLOAD_TOO_LARGE, cause.getMessage()); } } - return ApiEntity.badRequest().err(BAD_REQUEST, ex.getMessage()); + return ApiResponse.badRequest().err(BAD_REQUEST, ex.getMessage()); } - private ApiEntity _decideReturnValue(RuntimeException ex) { + private ApiResponse _decideReturnValue(RuntimeException ex) { if (ex.getCause() instanceof IOException) { - return ApiEntity.badRequest().err(BAD_REQUEST, ex.getCause().getMessage()); + return ApiResponse.badRequest().err(BAD_REQUEST, ex.getCause().getMessage()); } - return ApiEntity.badRequest().err(BAD_REQUEST, ex.getMessage()); + return ApiResponse.badRequest().err(BAD_REQUEST, ex.getMessage()); } /** diff --git a/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreEntityMethodParameter.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreResponseMethodParameter.java similarity index 74% rename from axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreEntityMethodParameter.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreResponseMethodParameter.java index 80068a2..fcb6f07 100644 --- a/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreEntityMethodParameter.java +++ b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreResponseMethodParameter.java @@ -1,6 +1,6 @@ package cn.axzo.framework.web.servlet.method; -import cn.axzo.framework.web.http.ApiCoreEntity; +import cn.axzo.framework.web.http.ApiCoreResponse; import org.springframework.core.MethodParameter; import org.springframework.core.ResolvableType; @@ -11,20 +11,20 @@ import java.lang.reflect.Type; * @Author liyong.tian * @Date 2020/9/9 17:13 **/ -public class ApiCoreEntityMethodParameter extends MethodParameter { +public class ApiCoreResponseMethodParameter extends MethodParameter { private final Object returnValue; private final ResolvableType returnType; - public ApiCoreEntityMethodParameter(MethodParameter parameter, ApiCoreEntity returnValue) { + public ApiCoreResponseMethodParameter(MethodParameter parameter, ApiCoreResponse returnValue) { super(parameter); this.returnValue = returnValue.getBody(); ResolvableType generic = ResolvableType.forType(super.getGenericParameterType()).getGeneric(0); this.returnType = ResolvableType.forClassWithGenerics(returnValue.getBody().getClass(), generic); } - public ApiCoreEntityMethodParameter(ApiCoreEntityMethodParameter original) { + public ApiCoreResponseMethodParameter(ApiCoreResponseMethodParameter original) { super(original); this.returnValue = original.returnValue; this.returnType = original.returnType; @@ -48,6 +48,6 @@ public class ApiCoreEntityMethodParameter extends MethodParameter { @Override public MethodParameter clone() { - return new ApiCoreEntityMethodParameter(this); + return new ApiCoreResponseMethodParameter(this); } } diff --git a/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreEntityMethodProcessor.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreResponseMethodProcessor.java similarity index 66% rename from axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreEntityMethodProcessor.java rename to axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreResponseMethodProcessor.java index 4f9c2fd..0536811 100644 --- a/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreEntityMethodProcessor.java +++ b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/method/ApiCoreResponseMethodProcessor.java @@ -1,6 +1,6 @@ package cn.axzo.framework.web.servlet.method; -import cn.axzo.framework.web.http.ApiCoreEntity; +import cn.axzo.framework.web.http.ApiCoreResponse; import org.springframework.core.MethodParameter; import org.springframework.util.Assert; import org.springframework.web.context.request.NativeWebRequest; @@ -15,17 +15,17 @@ import javax.servlet.http.HttpServletResponse; * @Author liyong.tian * @Date 2020/9/9 17:16 **/ -public class ApiCoreEntityMethodProcessor implements HandlerMethodReturnValueHandler { +public class ApiCoreResponseMethodProcessor implements HandlerMethodReturnValueHandler { private final HttpEntityMethodProcessor httpEntityMethodProcessor; - public ApiCoreEntityMethodProcessor(HttpEntityMethodProcessor httpEntityMethodProcessor) { + public ApiCoreResponseMethodProcessor(HttpEntityMethodProcessor httpEntityMethodProcessor) { this.httpEntityMethodProcessor = httpEntityMethodProcessor; } @Override public boolean supportsReturnType(MethodParameter returnType) { - return ApiCoreEntity.class.isAssignableFrom(returnType.getParameterType()); + return ApiCoreResponse.class.isAssignableFrom(returnType.getParameterType()); } @Override @@ -36,12 +36,12 @@ public class ApiCoreEntityMethodProcessor implements HandlerMethodReturnValueHan } // 设置http status - Assert.isInstanceOf(ApiCoreEntity.class, returnValue); - ApiCoreEntity apiCoreEntity = (ApiCoreEntity) returnValue; - webRequest.getNativeResponse(HttpServletResponse.class).setStatus(apiCoreEntity.getStatusCodeValue()); + Assert.isInstanceOf(ApiCoreResponse.class, returnValue); + ApiCoreResponse apiCoreResponse = (ApiCoreResponse) returnValue; + webRequest.getNativeResponse(HttpServletResponse.class).setStatus(apiCoreResponse.getStatusCodeValue()); //重写返回类型 - returnType = new ApiCoreEntityMethodParameter(returnType, apiCoreEntity); + returnType = new ApiCoreResponseMethodParameter(returnType, apiCoreResponse); httpEntityMethodProcessor.handleReturnValue(returnValue, returnType, mavContainer, webRequest); } } diff --git a/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/CustomOAuth2ExceptionRenderer.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/CustomOAuth2ExceptionRenderer.java index 4c2d4b6..6cd85e9 100644 --- a/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/CustomOAuth2ExceptionRenderer.java +++ b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/CustomOAuth2ExceptionRenderer.java @@ -1,7 +1,7 @@ package cn.axzo.framework.web.servlet.security.oauth; import cn.axzo.framework.core.util.ClassUtil; -import cn.axzo.framework.web.http.ApiCoreEntity; +import cn.axzo.framework.web.http.ApiCoreResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.http.*; import org.springframework.http.converter.GenericHttpMessageConverter; @@ -54,8 +54,8 @@ public class CustomOAuth2ExceptionRenderer implements OAuth2ExceptionRenderer { if (outputMessage instanceof ServerHttpResponse) { if (httpEntity instanceof ResponseEntity) { ((ServerHttpResponse) outputMessage).setStatusCode(((ResponseEntity) httpEntity).getStatusCode()); - } else if (httpEntity instanceof ApiCoreEntity) { - ((ServerHttpResponse) outputMessage).setStatusCode(((ApiCoreEntity) httpEntity).getStatusCode()); + } else if (httpEntity instanceof ApiCoreResponse) { + ((ServerHttpResponse) outputMessage).setStatusCode(((ApiCoreResponse) httpEntity).getStatusCode()); } } HttpHeaders entityHeaders = httpEntity.getHeaders(); diff --git a/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/SpringOAuth2AuthenticationEntryPoint.java b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/SpringOAuth2AuthenticationEntryPoint.java index 63f1d05..e28cae9 100644 --- a/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/SpringOAuth2AuthenticationEntryPoint.java +++ b/axzo-common-webmvc/src/main/java/cn/axzo/framework/web/servlet/security/oauth/SpringOAuth2AuthenticationEntryPoint.java @@ -1,7 +1,7 @@ package cn.axzo.framework.web.servlet.security.oauth; import cn.axzo.framework.domain.web.code.BaseCode; -import cn.axzo.framework.web.http.ApiEntity; +import cn.axzo.framework.web.http.ApiResponse; import org.springframework.http.HttpEntity; import org.springframework.http.ResponseEntity; import org.springframework.http.converter.HttpMessageConverter; @@ -66,7 +66,7 @@ public class SpringOAuth2AuthenticationEntryPoint extends OAuth2AuthenticationEn private HttpEntity beforeBodyWrite(ResponseEntity responseEntity) { OAuth2Exception e = responseEntity.getBody(); - return ApiEntity.status(responseEntity.getStatusCode()) + return ApiResponse.status(responseEntity.getStatusCode()) .headers(responseEntity.getHeaders()) .err(BaseCode.parse(e.getHttpErrorCode()), OAuth2Util.getMessage(e)); } From d8c8c26ae56626ef06734d031b4df1e81edf0550 Mon Sep 17 00:00:00 2001 From: tianliyong Date: Tue, 8 Nov 2022 14:19:24 +0800 Subject: [PATCH 14/15] =?UTF-8?q?PageData=E8=BF=94=E5=9B=9E=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/axzo/framework/domain/web/result/PageData.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/PageData.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/PageData.java index 12451bb..8cdad01 100644 --- a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/PageData.java +++ b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/PageData.java @@ -22,7 +22,7 @@ public class PageData { private Long totalCount; @ApiModelProperty(value = "当前页", position = 102) - private Integer pageNum; + private Integer page; @ApiModelProperty(value = "每页显示数量", position = 103) private Integer pageSize; From 17266e52e40f92b2aa76abada60487256c30b0a3 Mon Sep 17 00:00:00 2001 From: tianliyong Date: Tue, 8 Nov 2022 14:24:35 +0800 Subject: [PATCH 15/15] =?UTF-8?q?ApiPageResult=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/framework/domain/web/result/ApiPageResult.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java index c2ef174..45037d9 100644 --- a/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java +++ b/axzo-common-domain/src/main/java/cn/axzo/framework/domain/web/result/ApiPageResult.java @@ -120,7 +120,7 @@ public class ApiPageResult extends ApiCoreResult>{ PageData data = new PageData(); data.setList(list); data.setTotalCount(total); - data.setPageNum(pageNum); + data.setPage(pageNum); data.setPageSize(pageSize); this.code = code; this.msg = message; @@ -141,6 +141,6 @@ public class ApiPageResult extends ApiCoreResult>{ } public PageResp toPage() { - return new PageResp(data.getPageNum().longValue(), data.getPageSize().longValue(), data.getTotalCount(), data.getList() == null ? Lists.newArrayList() : data.getList()); + return new PageResp(data.getPage().longValue(), data.getPageSize().longValue(), data.getTotalCount(), data.getList() == null ? Lists.newArrayList() : data.getList()); } }