diff --git a/文档/基础组件/feign/20250527-engine-starter-feign-2.0.0.md b/文档/基础组件/feign/20250527-engine-starter-feign-2.0.0.md
index ed09707..8aa6fe9 100644
--- a/文档/基础组件/feign/20250527-engine-starter-feign-2.0.0.md
+++ b/文档/基础组件/feign/20250527-engine-starter-feign-2.0.0.md
@@ -23,10 +23,10 @@
# engine-starter-feign 使用教程(Deprecated)
+
- 该版本存在BUG,请使用 2.0.2 版本
- 在存在 RequestInterceptor 的情况下,token 无法向下游透传的BUG
-
> 基于 Feign 的通用封装
> 具体使用可参考 [engine-sample > engine-sample-starter-web](../engine-sample/engine-sample-starter-web)
diff --git a/文档/基础组件/feign/20250605-engine-starter-feign-2.0.1.md b/文档/基础组件/feign/20250605-engine-starter-feign-2.0.1.md
index dc9e7e9..a040668 100644
--- a/文档/基础组件/feign/20250605-engine-starter-feign-2.0.1.md
+++ b/文档/基础组件/feign/20250605-engine-starter-feign-2.0.1.md
@@ -23,10 +23,10 @@
# engine-starter-feign 使用教程(Deprecated)
+
- 该版本存在BUG,请使用 2.0.2 版本
- 在存在 RequestInterceptor 的情况下,token 无法向下游透传的BUG
-
> 基于 Feign 的通用封装
> 具体使用可参考 [engine-sample > engine-sample-starter-web](../engine-sample/engine-sample-starter-web)
diff --git a/文档/基础组件/feign/20250617-engine-starter-feign-2.0.2.md b/文档/基础组件/feign/20250617-engine-starter-feign-2.0.2.md
index a6b1eda..36da793 100644
--- a/文档/基础组件/feign/20250617-engine-starter-feign-2.0.2.md
+++ b/文档/基础组件/feign/20250617-engine-starter-feign-2.0.2.md
@@ -24,11 +24,11 @@
# engine-starter-feign 使用教程
-
> 基于 Feign 的通用封装
> 具体使用可参考 [engine-sample > engine-sample-starter-web](../engine-sample/engine-sample-starter-web)
## 变更记录
+
- 修复存在 RequestInterceptor 的情况下,token 无法向下游透传的BUG
## 功能特性
diff --git a/文档/基础组件/starter/20250527-EngineStarter引入指南-2.0.0.md b/文档/基础组件/starter/20250527-EngineStarter引入指南-2.0.0.md
index 0d3df50..5ad1ced 100644
--- a/文档/基础组件/starter/20250527-EngineStarter引入指南-2.0.0.md
+++ b/文档/基础组件/starter/20250527-EngineStarter引入指南-2.0.0.md
@@ -23,6 +23,7 @@
# 旧项目引入新包教程(Deprecated)
+
- 该版本存在BUG,请使用 2.0.2 版本
- 在存在 RequestInterceptor 的情况下,token 无法向下游透传的BUG
@@ -51,11 +52,12 @@
| oauth2-core | engine-starter-web | engine-starter-compatible-web | |
| data-mybatis-plus、data-core | engine-starter-mybatis-plus | engine-starter-compatible-mybatis-plus | |
-
### 重复功能禁用
+
- 核心包默认集成并开启了一些通用功能
- - 可以通过对应的配置文件关闭核心包中的功能
- - 也可以移除项目中的重复配置代码
+ - 可以通过对应的配置文件关闭核心包中的功能
+ - 也可以移除项目中的重复配置代码
#### 各个模块的功能特性列表
+
[功能特新列表(00-EngineStarter开头)](http://confluence.qifu.com/pages/viewpage.action?pageId=38508258)
diff --git a/文档/基础组件/starter/20250617-EngineStarter引入指南-2.0.2.md b/文档/基础组件/starter/20250617-EngineStarter引入指南-2.0.2.md
index 78da9f7..4a1b277 100644
--- a/文档/基础组件/starter/20250617-EngineStarter引入指南-2.0.2.md
+++ b/文档/基础组件/starter/20250617-EngineStarter引入指南-2.0.2.md
@@ -24,7 +24,6 @@
# 旧项目引入新包教程
-
- **注意:** `qifu-saas-parent >= 2.0.2-SNAPSHOT`
## 快速使用
@@ -49,11 +48,12 @@
| oauth2-core | engine-starter-web | engine-starter-compatible-web | |
| data-mybatis-plus、data-core | engine-starter-mybatis-plus | engine-starter-compatible-mybatis-plus | |
-
### 重复功能禁用
+
- 核心包默认集成并开启了一些通用功能
- - 可以通过对应的配置文件关闭核心包中的功能
- - 也可以移除项目中的重复配置代码
+ - 可以通过对应的配置文件关闭核心包中的功能
+ - 也可以移除项目中的重复配置代码
#### 各个模块的功能特性列表
+
[功能特新列表(00-EngineStarter开头)](http://confluence.qifu.com/pages/viewpage.action?pageId=38508258)
diff --git a/文档/基础组件/web/20250527-engine-starter-web-2.0.0.md b/文档/基础组件/web/20250527-engine-starter-web-2.0.0.md
index f220e64..59b541c 100644
--- a/文档/基础组件/web/20250527-engine-starter-web-2.0.0.md
+++ b/文档/基础组件/web/20250527-engine-starter-web-2.0.0.md
@@ -23,12 +23,12 @@
# engine-starter-web 使用教程(Deprecated)
+
- 该版本存在BUG,请使用 2.0.2 版本
- 在存在 RequestInterceptor 的情况下,token 无法向下游透传的BUG
-
> 基于 web 的各种工具封装
-> 具体使用可参考 [engine-sample > engine-sample-starter-web](../engine-sample/engine-sample-starter-web)
+> 具体使用可参考 [engine-sample > engine-sample-starter-web](../engine-sample/engine-sample-starter-web)
## 功能特性
diff --git a/文档/基础组件/web/20250605-engine-starter-web-2.0.1.md b/文档/基础组件/web/20250605-engine-starter-web-2.0.1.md
index 9a37dc0..5df58b5 100644
--- a/文档/基础组件/web/20250605-engine-starter-web-2.0.1.md
+++ b/文档/基础组件/web/20250605-engine-starter-web-2.0.1.md
@@ -23,11 +23,16 @@
# engine-starter-web 使用教程(Deprecated)
+
- 该版本存在BUG,请使用 2.0.2 版本
- 在存在 RequestInterceptor 的情况下,token 无法向下游透传的BUG
> 基于 web 的各种工具封装
-> 具体使用可参考 [engine-sample > engine-sample-starter-web](../engine-sample/engine-sample-starter-web)
+> 具体使用可参考 [engine-sample > engine-sample-starter-web](../engine-sample/engine-sample-starter-web)
+
+## 变更记录
+
+- 兼容 1.1.3 版本(已废弃,未发布)
## 功能特性
diff --git a/文档/基础组件/web/20250617-engine-starter-web-2.0.2.md b/文档/基础组件/web/20250617-engine-starter-web-2.0.2.md
index 8c79dc2..7eb18f1 100644
--- a/文档/基础组件/web/20250617-engine-starter-web-2.0.2.md
+++ b/文档/基础组件/web/20250617-engine-starter-web-2.0.2.md
@@ -25,9 +25,10 @@
# engine-starter-web 使用教程
> 基于 web 的各种工具封装
-> 具体使用可参考 [engine-sample > engine-sample-starter-web](../engine-sample/engine-sample-starter-web)
+> 具体使用可参考 [engine-sample > engine-sample-starter-web](../engine-sample/engine-sample-starter-web)
## 变更记录
+
- 添加无限层级填充
- 修复脚手架扫描包问题
- 修复Nacos配置无法自动刷新问题
@@ -36,8 +37,8 @@
- [X] `YmAutofillResponseAdvice`: 全局返回结果填充处理
- [X] `@YmAutoFill` 和 `@YmAutoFillResp`: 结果自动填充
- - 多层级填充实现,[使用样例](#结果自动填充)
- - 多层级字段需要使用 `@YmAutofillResp` 标识
+ - 多层级填充实现,[使用样例](#结果自动填充)
+ - 多层级字段需要使用 `@YmAutofillResp` 标识
- [X] `@YmIgnoreResultWrapper`: 忽略 `Result` 结果包装
- [X] `YmResponseAdvice`: 全局结果封装
- [X] `YmGlobalExceptionHandlerAdvice`: 全局异常拦截处理
@@ -260,25 +261,25 @@ import java.util.List;
@AllArgsConstructor
public enum TestStatusEnum implements YmBaseEnum {
- SUCCESS("SUCCESS", "成功"),
- FAIL("FAIL", "失败"),
- ;
+ SUCCESS("SUCCESS", "成功"),
+ FAIL("FAIL", "失败"),
+ ;
- private final String code;
- private final String desc;
+ private final String code;
+ private final String desc;
}
@Component
public class TestAutoFillHandler implements YmAutofillHandler {
- @Override
- public Map, ?> handle(Collection> ids, YmAutofillInfo autofill) {
- Collection string = (Collection) ids;
- Map result = new HashMap<>();
- string.forEach(k -> result.put(k, k + "value"));
- return result;
- }
+ @Override
+ public Map, ?> handle(Collection> ids, YmAutofillInfo autofill) {
+ Collection string = (Collection) ids;
+ Map result = new HashMap<>();
+ string.forEach(k -> result.put(k, k + "value"));
+ return result;
+ }
}
@@ -286,23 +287,23 @@ public class TestAutoFillHandler implements YmAutofillHandler {
@NoArgsConstructor
public class TestData {
- @YmAutofill(enumCls = TestStatusEnum.class)
- private String statusName;
- private String status;
+ @YmAutofill(enumCls = TestStatusEnum.class)
+ private String statusName;
+ private String status;
- private String code;
- @YmAutofill(from = "code", type = YmAutofillType.BEAN, handler = TestAutoFillHandler.class)
- private String msg;
+ private String code;
+ @YmAutofill(from = "code", type = YmAutofillType.BEAN, handler = TestAutoFillHandler.class)
+ private String msg;
- @YmAutofillResp
- private List secondList;
- @YmAutofillResp
- private List childList;
+ @YmAutofillResp
+ private List secondList;
+ @YmAutofillResp
+ private List childList;
- public TestData(String status, String code) {
- this.status = status;
- this.code = code;
- }
+ public TestData(String status, String code) {
+ this.status = status;
+ this.code = code;
+ }
}
@@ -310,45 +311,45 @@ public class TestData {
@NoArgsConstructor
public class TestDataSecond {
- private String statusName;
- private String status;
+ private String statusName;
+ private String status;
- private String code;
- private String msg;
-
- @YmAutofillResp
- private TestData testData;
+ private String code;
+ private String msg;
- public TestDataSecond(String status, String code) {
- this.status = status;
- this.code = code;
- }
+ @YmAutofillResp
+ private TestData testData;
+
+ public TestDataSecond(String status, String code) {
+ this.status = status;
+ this.code = code;
+ }
}
public class Usage {
- @YmAutofillResp
- @GetMapping("/autofill")
- public List autofill() {
- List list = new ArrayList<>();
- list.add(new TestData(TestStatusEnum.SUCCESS.getCode(), "1"));
- list.add(new TestData(TestStatusEnum.FAIL.getCode(), "2"));
- return list;
- }
+ @YmAutofillResp
+ @GetMapping("/autofill")
+ public List autofill() {
+ List list = new ArrayList<>();
+ list.add(new TestData(TestStatusEnum.SUCCESS.getCode(), "1"));
+ list.add(new TestData(TestStatusEnum.FAIL.getCode(), "2"));
+ return list;
+ }
- @YmAutofillResp({
- @YmAutofill(from = "status", target = "statusName", enumCls = TestStatusEnum.class),
- @YmAutofill(from = "code", target = "msg", type = YmAutofillType.BEAN, handler = TestAutoFillHandler.class)
- })
- @GetMapping("/autofill-second")
- public List autofillSecond() {
- List list = new ArrayList<>();
- list.add(new TestDataSecond(TestStatusEnum.SUCCESS.getCode(), "1"));
- list.add(new TestDataSecond(TestStatusEnum.FAIL.getCode(), "2"));
- return list;
- }
+ @YmAutofillResp({
+ @YmAutofill(from = "status", target = "statusName", enumCls = TestStatusEnum.class),
+ @YmAutofill(from = "code", target = "msg", type = YmAutofillType.BEAN, handler = TestAutoFillHandler.class)
+ })
+ @GetMapping("/autofill-second")
+ public List autofillSecond() {
+ List list = new ArrayList<>();
+ list.add(new TestDataSecond(TestStatusEnum.SUCCESS.getCode(), "1"));
+ list.add(new TestDataSecond(TestStatusEnum.FAIL.getCode(), "2"));
+ return list;
+ }
}
```