simple-base-dict
# 简介
可作用于字典服务及数据管理
模块
simple-base-dict-api 字典翻译服务-客户端:
若只引入客户端需要启动服务端并(配置服务端调用地址 或 开启服务自动发现)
主要功能:用于实现翻译逻辑调用
simple-base-dict-service 字典翻译服务-服务端:
可直接引入依赖,作为客户端也作为服务端
主要功能:数据表结构将自动创建、开放基础调用接口
1
2
3
4
5
6
2
3
4
5
6
# 依赖关系及代码分析
# 拆分客户端及服务端使用
# 启动服务端
下载代码
git clone https://github.com/ok1996/ok-system-simple.git
1
增加启动BaseDictServiceApplication的vm配置--无需连接Nacos
-Dspring.datasource.dynamic.datasource.master.url=jdbc:mysql://127.0.0.1:3306/simple_demo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-Dspring.datasource.dynamic.datasource.master.username=
-Dspring.datasource.dynamic.datasource.master.password=
1
2
3
2
3
若要连接Nacos则再增加配置
-Dspring.cloud.nacos.server-addr=http://127.0.0.1:8848
-Dspring.cloud.nacos.username=
-Dspring.cloud.nacos.password=
-Dspring.cloud.nacos.discovery.enabled=true
-Dspring.cloud.nacos.discovery.namespace=
-Dspring.cloud.nacos.config.enabled=true
-Dspring.cloud.nacos.config.namespace=
1
2
3
4
5
6
7
2
3
4
5
6
7
# 引入客户端
# 引入依赖-方式1
所需工程使用仅需引入客户端依赖
<dependencies>
<dependency>
<groupId>cn.iosd</groupId>
<artifactId>simple-base-dict-api</artifactId>
<version>Version</version>
</dependency>
</dependencies>
1
2
3
4
5
6
7
2
3
4
5
6
7
# 引入依赖-方式2
所需工程使用,引入服务端依赖,并通过配置文件关闭服务端功能,仅使用客户端功能
便于灵活切换启用本身作为服务端
<dependencies>
<dependency>
<groupId>cn.iosd</groupId>
<artifactId>simple-base-dict-service</artifactId>
<version>Version</version>
</dependency>
</dependencies>
1
2
3
4
5
6
7
2
3
4
5
6
7
配置项-关闭服务端功能
simple:
scan:
## 关闭service依赖中service服务端,仅使用service依赖中的api客户端
service:
enabled: false
1
2
3
4
5
2
3
4
5
# 配置项
若要连接Nacos则再增加vm配置
-Dspring.cloud.nacos.server-addr=http://127.0.0.1:8848
-Dspring.cloud.nacos.username=
-Dspring.cloud.nacos.password=
-Dspring.cloud.nacos.discovery.enabled=true
-Dspring.cloud.nacos.discovery.namespace=
-Dspring.cloud.nacos.config.enabled=true
-Dspring.cloud.nacos.config.namespace=
1
2
3
4
5
6
7
2
3
4
5
6
7
情况1:若工程 或 服务端 没有启用服务发现,则需要在客户端中配置调用服务端的调用地址
simple:
feign:
base:
## simple-base-dict-api
param:
# 未开启注册中心需要指定调用地址
url: http://localhost:9030
1
2
3
4
5
6
7
2
3
4
5
6
7
情况2:若工程 和 服务端 均启用服务发现,则在客户端中配置调用服务端的调用地址为空即可
simple:
feign:
base:
dict:
# 未开启注册中心需要指定调用地址
url:
1
2
3
4
5
6
2
3
4
5
6
# 使用字典翻译
# 步骤1
实体类增加注解 @DictField
若实体类内还有嵌套实体类需要翻译则使用 @DictEntity
如:
@Data
public class PersonRemoteVo {
@Schema(description = "姓名")
private String name;
@Schema(description = "性别")
@DictField(dictionaryParams = "sex", relatedField = "sexText")
private Integer sex;
private String sexText;
@DictEntity
private PersonVo personVo;
}
@Data
public class PersonVo {
@Schema(description = "姓名")
private String name;
@Schema(description = "性别-默认实现类的json文件调用字典")
@DictField(dictionaryParams = "leader", dictImplBeanName = "localDictServiceImpl", relatedField = "leaderText")
private Integer leader;
private String leaderText;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 步骤2
在方法上增加注解 @Dict
标注该方法调用后返回是翻译后的数据
@Dict
public PersonRemoteVo getPersonRemoteVo() {
return PersonRemoteVo.builder().name("吴小").idCard(1).hideIdentity(1).build();
}
1
2
3
4
2
3
4
# 融合客户端和服务端使用
直接引入service依赖即包含客户端和服务端功能
# 引入依赖
<dependencies>
<dependency>
<groupId>cn.iosd</groupId>
<artifactId>simple-base-dict-service</artifactId>
<version>Version</version>
</dependency>
</dependencies>
1
2
3
4
5
6
7
2
3
4
5
6
7
# 查看服务端接口
例:可访问接口地址查看 http://127.0.0.1:9030/doc.html
上次更新: 2024/03/25, 02:28:08