[2025-06-26] 重新同步文档,修复 docker 问题,使用 host 方式
All checks were successful
Publish to Confluence / confluence (push) Successful in 15s

This commit is contained in:
liuxiaohua 2025-06-26 10:15:29 +08:00
parent 34daebe3e9
commit c87fa19a23
8 changed files with 80 additions and 72 deletions

View File

@ -23,10 +23,10 @@
<!-- :toc: -->
# engine-starter-feign 使用教程Deprecated
- <font color="red">该版本存在BUG请使用 2.0.2 版本</font>
- 在存在 RequestInterceptor 的情况下token 无法向下游透传的BUG
> 基于 Feign 的通用封装
> 具体使用可参考 [engine-sample > engine-sample-starter-web](../engine-sample/engine-sample-starter-web)

View File

@ -23,10 +23,10 @@
<!-- :toc: -->
# engine-starter-feign 使用教程Deprecated
- <font color="red">该版本存在BUG请使用 2.0.2 版本</font>
- 在存在 RequestInterceptor 的情况下token 无法向下游透传的BUG
> 基于 Feign 的通用封装
> 具体使用可参考 [engine-sample > engine-sample-starter-web](../engine-sample/engine-sample-starter-web)

View File

@ -24,11 +24,11 @@
# engine-starter-feign 使用教程
> 基于 Feign 的通用封装
> 具体使用可参考 [engine-sample > engine-sample-starter-web](../engine-sample/engine-sample-starter-web)
## 变更记录
- 修复存在 RequestInterceptor 的情况下token 无法向下游透传的BUG
## 功能特性

View File

@ -23,6 +23,7 @@
<!-- :toc: -->
# 旧项目引入新包教程Deprecated
- <font color="red">该版本存在BUG请使用 2.0.2 版本</font>
- 在存在 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)

View File

@ -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)

View File

@ -23,10 +23,10 @@
<!-- :toc: -->
# engine-starter-web 使用教程Deprecated
- <font color="red">该版本存在BUG请使用 2.0.2 版本</font>
- 在存在 RequestInterceptor 的情况下token 无法向下游透传的BUG
> 基于 web 的各种工具封装
> 具体使用可参考 [engine-sample > engine-sample-starter-web](../engine-sample/engine-sample-starter-web)

View File

@ -23,12 +23,17 @@
<!-- :toc: -->
# engine-starter-web 使用教程Deprecated
- <font color="red">该版本存在BUG请使用 2.0.2 版本</font>
- 在存在 RequestInterceptor 的情况下token 无法向下游透传的BUG
> 基于 web 的各种工具封装
> 具体使用可参考 [engine-sample > engine-sample-starter-web](../engine-sample/engine-sample-starter-web)
## 变更记录
- 兼容 1.1.3 版本(已废弃,未发布)
## 功能特性
- [X] `@YmAutoFill``@YmAutoFillResp`: 结果自动填充

View File

@ -28,6 +28,7 @@
> 具体使用可参考 [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<String> {
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> string = (Collection<String>) ids;
Map<String, String> result = new HashMap<>();
string.forEach(k -> result.put(k, k + "value"));
return result;
}
@Override
public Map<?, ?> handle(Collection<?> ids, YmAutofillInfo autofill) {
Collection<String> string = (Collection<String>) ids;
Map<String, String> 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<TestDataSecond> secondList;
@YmAutofillResp
private List<TestData> childList;
@YmAutofillResp
private List<TestDataSecond> secondList;
@YmAutofillResp
private List<TestData> 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;
private String code;
private String msg;
@YmAutofillResp
private TestData testData;
@YmAutofillResp
private TestData testData;
public TestDataSecond(String status, String code) {
this.status = status;
this.code = code;
}
public TestDataSecond(String status, String code) {
this.status = status;
this.code = code;
}
}
public class Usage {
@YmAutofillResp
@GetMapping("/autofill")
public List<TestData> autofill() {
List<TestData> 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<TestData> autofill() {
List<TestData> 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<TestDataSecond> autofillSecond() {
List<TestDataSecond> 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<TestDataSecond> autofillSecond() {
List<TestDataSecond> list = new ArrayList<>();
list.add(new TestDataSecond(TestStatusEnum.SUCCESS.getCode(), "1"));
list.add(new TestDataSecond(TestStatusEnum.FAIL.getCode(), "2"));
return list;
}
}
```