From 19df98faedfd1e7e7b71dc2a55d924aca7b3d750 Mon Sep 17 00:00:00 2001 From: YunaiV <> Date: Sat, 23 May 2020 09:04:24 +0800 Subject: [PATCH] =?UTF-8?q?soul=20=E7=A4=BA=E4=BE=8B=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- .../lab60/userservice/api/UserService.java | 4 +++ .../userservice/api/dto/UserCreateDTO.java | 34 +++++++++++++++++++ .../userservice/service/UserServiceImpl.java | 12 +++++++ .../src/main/resources/application.yaml | 8 ++--- 5 files changed, 55 insertions(+), 5 deletions(-) create mode 100644 lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service-api/src/main/java/cn/iocoder/springboot/lab60/userservice/api/dto/UserCreateDTO.java diff --git a/README.md b/README.md index 9dafe25a..b71f8a8d 100644 --- a/README.md +++ b/README.md @@ -193,7 +193,7 @@ > 如下非 Spring Cloud 网关,先放在这里... -* [《芋道 APISIX 极简入门(国产微服务网关)》](http://www.iocoder.cn/iocoder.cn/APISIX/install/?github) 对应 [lab-56](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-56) +* [《芋道 APISIX 极简入门(国产微服务网关)》](http://www.iocoder.cn/APISIX/install/?github) 对应 [lab-56](https://github.com/YunaiV/SpringBoot-Labs/tree/master/lab-56) ## 配置中心 diff --git a/lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service-api/src/main/java/cn/iocoder/springboot/lab60/userservice/api/UserService.java b/lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service-api/src/main/java/cn/iocoder/springboot/lab60/userservice/api/UserService.java index b85468b9..181223a9 100644 --- a/lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service-api/src/main/java/cn/iocoder/springboot/lab60/userservice/api/UserService.java +++ b/lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service-api/src/main/java/cn/iocoder/springboot/lab60/userservice/api/UserService.java @@ -1,7 +1,11 @@ package cn.iocoder.springboot.lab60.userservice.api; +import cn.iocoder.springboot.lab60.userservice.api.dto.UserCreateDTO; + public interface UserService { String getUser(Integer id); + Integer createUser(UserCreateDTO createDTO); + } diff --git a/lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service-api/src/main/java/cn/iocoder/springboot/lab60/userservice/api/dto/UserCreateDTO.java b/lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service-api/src/main/java/cn/iocoder/springboot/lab60/userservice/api/dto/UserCreateDTO.java new file mode 100644 index 00000000..9fa4774d --- /dev/null +++ b/lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service-api/src/main/java/cn/iocoder/springboot/lab60/userservice/api/dto/UserCreateDTO.java @@ -0,0 +1,34 @@ +package cn.iocoder.springboot.lab60.userservice.api.dto; + +/** + * 用户创建 DTO + */ +public class UserCreateDTO { + + /** + * 昵称 + */ + private String nickname; + /** + * 性别 + */ + private Integer gender; + + public String getNickname() { + return nickname; + } + + public UserCreateDTO setNickname(String nickname) { + this.nickname = nickname; + return this; + } + + public Integer getGender() { + return gender; + } + + public UserCreateDTO setGender(Integer gender) { + this.gender = gender; + return this; + } +} diff --git a/lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service/src/main/java/cn/iocoder/springboot/lab60/userservice/service/UserServiceImpl.java b/lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service/src/main/java/cn/iocoder/springboot/lab60/userservice/service/UserServiceImpl.java index d15511e8..fa6e1f1c 100644 --- a/lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service/src/main/java/cn/iocoder/springboot/lab60/userservice/service/UserServiceImpl.java +++ b/lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service/src/main/java/cn/iocoder/springboot/lab60/userservice/service/UserServiceImpl.java @@ -1,16 +1,28 @@ package cn.iocoder.springboot.lab60.userservice.service; import cn.iocoder.springboot.lab60.userservice.api.UserService; +import cn.iocoder.springboot.lab60.userservice.api.dto.UserCreateDTO; import org.dromara.soul.client.common.annotation.SoulClient; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @org.apache.dubbo.config.annotation.Service(version = "1.0.0") public class UserServiceImpl implements UserService { + private Logger logger = LoggerFactory.getLogger(getClass()); + @Override @SoulClient(path = "/user/get", desc = "获得用户详细") public String getUser(Integer id) { return "User:" + id; } + @Override + @SoulClient(path = "/user/create", desc = "创建用户") + public Integer createUser(UserCreateDTO createDTO) { + logger.info("[createUser][username({}) password({})]", createDTO.getNickname(), createDTO.getGender()); + return 1; + } + } diff --git a/lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service/src/main/resources/application.yaml b/lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service/src/main/resources/application.yaml index 3f5941ab..c39d18bf 100644 --- a/lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service/src/main/resources/application.yaml +++ b/lab-60/lab-60-soul-dubbo-demo/lab-60-soul-dubbo-demo-user-service/src/main/resources/application.yaml @@ -6,7 +6,6 @@ dubbo: # Dubbo 注册中心配 registry: address: nacos://127.0.0.1:8848 # 注册中心地址。个鞥多注册中心,可见 http://dubbo.apache.org/zh-cn/docs/user/references/registry/introduction.html 文档。 -# address: zookeeper://127.0.0.1:2181 # 注册中心地址。多注册中心,可见 http://dubbo.apache.org/zh-cn/docs/user/references/registry/introduction.html 文档。 # Dubbo 服务提供者协议配置 protocol: port: -1 # 协议端口。使用 -1 表示随机端口。 @@ -21,6 +20,7 @@ dubbo: soul: # Soul 针对 Dubbo 的配置项,对应 DubboConfig 配置类 dubbo: - admin-url: http://127.0.0.1:9095 - context-path: /demo-api - app-name: demo-service + admin-url: http://127.0.0.1:9095 # Soul Admin 地址 + context-path: /user-api # 设置在 Soul 网关的路由前缀,例如说 /order、/product 等等。 + # 后续,网关会根据该 context-path 来进行路由 + app-name: user-service # 应用名。未配置情况下,默认使用 Dubbo 的应用名