diff --git a/labx-21/labx-21-sc-user-service/pom.xml b/labx-21/labx-21-sc-user-service/pom.xml new file mode 100644 index 00000000..055cc5d7 --- /dev/null +++ b/labx-21/labx-21-sc-user-service/pom.xml @@ -0,0 +1,64 @@ + + + + labx-08 + cn.iocoder.springboot.labs + 1.0-SNAPSHOT + + 4.0.0 + + labx-21-sc-user-service + + + 2.2.4.RELEASE + Hoxton.SR1 + 2.2.0.RELEASE + + + + + + + org.springframework.boot + spring-boot-starter-parent + ${spring.boot.version} + pom + import + + + org.springframework.cloud + spring-cloud-dependencies + ${spring.cloud.version} + pom + import + + + com.alibaba.cloud + spring-cloud-alibaba-dependencies + ${spring.cloud.alibaba.version} + pom + import + + + + + + + + org.springframework.boot + spring-boot-starter-web + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + diff --git a/labx-21/labx-21-sc-user-service/src/main/java/cn/iocoder/springcloud/labx21/userservice/UserServiceApplication.java b/labx-21/labx-21-sc-user-service/src/main/java/cn/iocoder/springcloud/labx21/userservice/UserServiceApplication.java new file mode 100644 index 00000000..a0457841 --- /dev/null +++ b/labx-21/labx-21-sc-user-service/src/main/java/cn/iocoder/springcloud/labx21/userservice/UserServiceApplication.java @@ -0,0 +1,13 @@ +package cn.iocoder.springcloud.labx21.userservice; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class UserServiceApplication { + + public static void main(String[] args) { + SpringApplication.run(UserServiceApplication.class, args); + } + +} diff --git a/labx-21/labx-21-sc-user-service/src/main/java/cn/iocoder/springcloud/labx21/userservice/controller/UserController.java b/labx-21/labx-21-sc-user-service/src/main/java/cn/iocoder/springcloud/labx21/userservice/controller/UserController.java new file mode 100644 index 00000000..ec03034f --- /dev/null +++ b/labx-21/labx-21-sc-user-service/src/main/java/cn/iocoder/springcloud/labx21/userservice/controller/UserController.java @@ -0,0 +1,23 @@ +package cn.iocoder.springcloud.labx21.userservice.controller; + +import cn.iocoder.springcloud.labx21.userservice.dto.UserAddDTO; +import cn.iocoder.springcloud.labx21.userservice.dto.UserDTO; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/user") +public class UserController { + + @GetMapping("/get") + public UserDTO get(@RequestParam("id") Integer id) { + return new UserDTO().setId(id) + .setName("没有昵称:" + id) + .setGender(id % 2 + 1); // 1 - 男;2 - 女 + } + + @PostMapping("/add") + public Integer add(UserAddDTO addDTO) { + return (int) (System.currentTimeMillis() / 1000); // 嘿嘿,随便返回一个 id + } + +} diff --git a/labx-21/labx-21-sc-user-service/src/main/java/cn/iocoder/springcloud/labx21/userservice/dto/UserAddDTO.java b/labx-21/labx-21-sc-user-service/src/main/java/cn/iocoder/springcloud/labx21/userservice/dto/UserAddDTO.java new file mode 100644 index 00000000..e4c2a233 --- /dev/null +++ b/labx-21/labx-21-sc-user-service/src/main/java/cn/iocoder/springcloud/labx21/userservice/dto/UserAddDTO.java @@ -0,0 +1,37 @@ +package cn.iocoder.springcloud.labx21.userservice.dto; + +import java.io.Serializable; + +/** + * 用户添加 DTO + */ +public class UserAddDTO implements Serializable { + + /** + * 昵称 + */ + private String name; + /** + * 性别 + */ + private Integer gender; + + public String getName() { + return name; + } + + public UserAddDTO setName(String name) { + this.name = name; + return this; + } + + public Integer getGender() { + return gender; + } + + public UserAddDTO setGender(Integer gender) { + this.gender = gender; + return this; + } + +} diff --git a/labx-21/labx-21-sc-user-service/src/main/java/cn/iocoder/springcloud/labx21/userservice/dto/UserDTO.java b/labx-21/labx-21-sc-user-service/src/main/java/cn/iocoder/springcloud/labx21/userservice/dto/UserDTO.java new file mode 100644 index 00000000..40184202 --- /dev/null +++ b/labx-21/labx-21-sc-user-service/src/main/java/cn/iocoder/springcloud/labx21/userservice/dto/UserDTO.java @@ -0,0 +1,49 @@ +package cn.iocoder.springcloud.labx21.userservice.dto; + +import java.io.Serializable; + +/** + * 用户信息 DTO + */ +public class UserDTO implements Serializable { + + /** + * 用户编号 + */ + private Integer id; + /** + * 昵称 + */ + private String name; + /** + * 性别 + */ + private Integer gender; + + public Integer getId() { + return id; + } + + public UserDTO setId(Integer id) { + this.id = id; + return this; + } + + public String getName() { + return name; + } + + public UserDTO setName(String name) { + this.name = name; + return this; + } + + public Integer getGender() { + return gender; + } + + public UserDTO setGender(Integer gender) { + this.gender = gender; + return this; + } +} diff --git a/labx-21/labx-21-sc-user-service/src/main/resources/application.yaml b/labx-21/labx-21-sc-user-service/src/main/resources/application.yaml new file mode 100644 index 00000000..ea9d953b --- /dev/null +++ b/labx-21/labx-21-sc-user-service/src/main/resources/application.yaml @@ -0,0 +1,12 @@ +spring: + application: + name: user-service # Spring 应用名 + cloud: + nacos: + # Nacos 作为注册中心的配置项 + discovery: + server-addr: 127.0.0.1:8848 # Nacos 服务器地址 + +server: + port: ${random.int[10000,19999]} # 服务器端口。默认为 8080 +# port: 18080 # 服务器端口。默认为 8080 diff --git a/labx-21/labx-21-sc-zuul-demo02-registry/pom.xml b/labx-21/labx-21-sc-zuul-demo02-registry/pom.xml new file mode 100644 index 00000000..03afb620 --- /dev/null +++ b/labx-21/labx-21-sc-zuul-demo02-registry/pom.xml @@ -0,0 +1,64 @@ + + + + labx-21 + cn.iocoder.springboot.labs + 1.0-SNAPSHOT + + 4.0.0 + + labx-21-sc-zuul-demo02-registry + + + 2.2.4.RELEASE + Hoxton.SR1 + 2.2.0.RELEASE + + + + + + + org.springframework.boot + spring-boot-starter-parent + ${spring.boot.version} + pom + import + + + org.springframework.cloud + spring-cloud-dependencies + ${spring.cloud.version} + pom + import + + + com.alibaba.cloud + spring-cloud-alibaba-dependencies + ${spring.cloud.alibaba.version} + pom + import + + + + + + + + org.springframework.cloud + spring-cloud-starter-netflix-zuul + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + diff --git a/labx-21/labx-21-sc-zuul-demo02-registry/src/main/java/cn/iocoder/springcloud/labx21/zuuldemo/ZuulApplication.java b/labx-21/labx-21-sc-zuul-demo02-registry/src/main/java/cn/iocoder/springcloud/labx21/zuuldemo/ZuulApplication.java new file mode 100644 index 00000000..e9f0fce2 --- /dev/null +++ b/labx-21/labx-21-sc-zuul-demo02-registry/src/main/java/cn/iocoder/springcloud/labx21/zuuldemo/ZuulApplication.java @@ -0,0 +1,15 @@ +package cn.iocoder.springcloud.labx21.zuuldemo; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.netflix.zuul.EnableZuulProxy; + +@SpringBootApplication +@EnableZuulProxy // 开启 Zuul 网关 +public class ZuulApplication { + + public static void main(String[] args) { + SpringApplication.run(ZuulApplication.class, args); + } + +} diff --git a/labx-21/labx-21-sc-zuul-demo02-registry/src/main/resources/application.yaml b/labx-21/labx-21-sc-zuul-demo02-registry/src/main/resources/application.yaml new file mode 100644 index 00000000..91d2b8db --- /dev/null +++ b/labx-21/labx-21-sc-zuul-demo02-registry/src/main/resources/application.yaml @@ -0,0 +1,21 @@ +server: + port: 8888 + +spring: + application: + name: zuul-application + +# Zuul 配置项,对应 ZuulProperties 配置类 +zuul: + servlet-path: / # ZuulServlet 匹配的路径,默认为 /zuul + # 路由配置项,对应 ZuulRoute Map + routes: + route_yudaoyuanma: + path: /blog/** + url: http://www.iocoder.cn + route_oschina: + path: /oschina/** + url: https://www.oschina.net + route_user_service: + path: /user-serevice/** + service-id: user-service diff --git a/labx-21/pom.xml b/labx-21/pom.xml index d3aa2794..4fc32f46 100644 --- a/labx-21/pom.xml +++ b/labx-21/pom.xml @@ -13,6 +13,8 @@ pom labx-21-sc-zuul-demo01 + labx-21-sc-zuul-demo02-registry + labx-21-sc-user-service