From 5e8f7ad59f59fd966d0bac58ae7a6edc129401f4 Mon Sep 17 00:00:00 2001 From: haerong22 Date: Mon, 2 Aug 2021 16:33:09 +0900 Subject: [PATCH] msa : msa - api gateway --- msa_practice/msatest/gatewaydemo/build.gradle | 52 +++++++++++++++++++ .../gateway/GatewayDemoApplication.java | 11 ++++ .../src/main/resources/application.yml | 27 ++++++++++ msa_practice/msatest/settings.gradle | 1 + .../userdemo/controller/ReaderController.java | 7 ++- 5 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 msa_practice/msatest/gatewaydemo/build.gradle create mode 100644 msa_practice/msatest/gatewaydemo/src/main/java/com/msatest/gateway/GatewayDemoApplication.java create mode 100644 msa_practice/msatest/gatewaydemo/src/main/resources/application.yml diff --git a/msa_practice/msatest/gatewaydemo/build.gradle b/msa_practice/msatest/gatewaydemo/build.gradle new file mode 100644 index 00000000..225bb764 --- /dev/null +++ b/msa_practice/msatest/gatewaydemo/build.gradle @@ -0,0 +1,52 @@ +plugins { + id 'org.springframework.boot' version '2.4.4' + id 'io.spring.dependency-management' version '1.0.11.RELEASE' + id 'java' +} + +group 'org.example' +version '1.0-SNAPSHOT' +sourceCompatibility = "1.11" + +ext { + springCloudSleuthOtelVersion = "1.0.0-M1" + releaseTrainVersion = "2020.0.1" +} + +apply plugin: "io.spring.dependency-management" + + +repositories { + mavenCentral() + maven { + url "https://repo.spring.io/snapshot" + } + maven { + url "https://repo.spring.io/milestone" + } + maven { + url "https://repo.spring.io/release" + } +} +// MSA 용 +dependencyManagement { + imports { + mavenBom "org.springframework.cloud:spring-cloud-dependencies:${releaseTrainVersion}" + mavenBom "org.springframework.cloud:spring-cloud-sleuth-otel-dependencies:${springCloudSleuthOtelVersion}" + } +} + + +dependencies { + + compile("org.springframework.cloud:spring-cloud-starter-config") + compile("org.springframework.cloud:spring-cloud-starter-netflix-eureka-client") + compile("org.springframework.cloud:spring-cloud-starter-gateway") + + implementation 'org.projectlombok:lombok' + annotationProcessor 'org.projectlombok:lombok' +} + +test { + useJUnitPlatform() +} \ No newline at end of file diff --git a/msa_practice/msatest/gatewaydemo/src/main/java/com/msatest/gateway/GatewayDemoApplication.java b/msa_practice/msatest/gatewaydemo/src/main/java/com/msatest/gateway/GatewayDemoApplication.java new file mode 100644 index 00000000..bc66fd31 --- /dev/null +++ b/msa_practice/msatest/gatewaydemo/src/main/java/com/msatest/gateway/GatewayDemoApplication.java @@ -0,0 +1,11 @@ +package com.msatest.gateway; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class GatewayDemoApplication { + public static void main(String[] args) { + SpringApplication.run(GatewayDemoApplication.class,args); + } +} diff --git a/msa_practice/msatest/gatewaydemo/src/main/resources/application.yml b/msa_practice/msatest/gatewaydemo/src/main/resources/application.yml new file mode 100644 index 00000000..5cc0b5f3 --- /dev/null +++ b/msa_practice/msatest/gatewaydemo/src/main/resources/application.yml @@ -0,0 +1,27 @@ +server: + port: 8080 + +spring: + application: + name: eureka-server + cloud: + gateway: + routes: + - id: user-api + uri: http://localhost:8091 + predicates: + - Path=/user/** + # 미완 + - id: payment-api + uri: http://localhost:8090 + predicates: + - Path=/payment/** + - id: webbook-api + uri: http://localhost:8092 + predicates: + - Path=/webbook/** + +eureka: + client: + register-with-eureka: false + fetch-registry: false \ No newline at end of file diff --git a/msa_practice/msatest/settings.gradle b/msa_practice/msatest/settings.gradle index d37241bb..a8c36a00 100644 --- a/msa_practice/msatest/settings.gradle +++ b/msa_practice/msatest/settings.gradle @@ -2,4 +2,5 @@ rootProject.name = 'msatest' include 'userdemo' include 'paymentdemo' include 'webbookdemo' +include 'gatewaydemo' diff --git a/msa_practice/msatest/userdemo/src/main/java/com/userdemo/controller/ReaderController.java b/msa_practice/msatest/userdemo/src/main/java/com/userdemo/controller/ReaderController.java index ae821ec1..813610a5 100644 --- a/msa_practice/msatest/userdemo/src/main/java/com/userdemo/controller/ReaderController.java +++ b/msa_practice/msatest/userdemo/src/main/java/com/userdemo/controller/ReaderController.java @@ -14,13 +14,18 @@ import org.springframework.web.bind.annotation.*; import java.util.List; @RestController -@RequestMapping("/reader") +@RequestMapping("/user/reader") @RequiredArgsConstructor public class ReaderController { private final ReaderService ReaderService; private final ReaderWebBookService readerWebBookService; + @GetMapping("/hello") + public ResponseEntity getHello() { + return ResponseEntity.ok().body("Hello"); + } + @PostMapping("/") public ResponseEntity registerReader(@RequestBody RegisterReaderForm registerReaderForm){ return ResponseEntity.ok(ReaderService.registerReader(registerReaderForm));