From d116a902d5d98b0005ce84fb1118cbf22f8818b2 Mon Sep 17 00:00:00 2001 From: bum12ark Date: Thu, 3 Feb 2022 17:56:58 +0900 Subject: [PATCH] =?UTF-8?q?order-service=20Feign=20Client=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EC=B6=94=EA=B0=80=20=EB=B0=8F=20api=20=ED=98=B8?= =?UTF-8?q?=EC=B6=9C=20=ED=81=B4=EB=9E=98=EC=8A=A4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../orderservice/OrderServiceApplication.java | 2 ++ .../global/client/store/GetItemResponse.java | 12 ++++++++++++ .../global/client/store/StoreClient.java | 13 +++++++++++++ .../global/client/user/GetCustomerResponse.java | 10 ++++++++++ .../global/client/user/UserClient.java | 13 +++++++++++++ .../global/config/FeignClientConfig.java | 14 ++++++++++++++ .../justpickup/orderservice/global/dto/Result.java | 11 +++++++++++ .../justpickup/orderservice/global/entity/Yn.java | 5 +++++ 8 files changed, 80 insertions(+) create mode 100644 order-service/src/main/java/com/justpickup/orderservice/global/client/store/GetItemResponse.java create mode 100644 order-service/src/main/java/com/justpickup/orderservice/global/client/store/StoreClient.java create mode 100644 order-service/src/main/java/com/justpickup/orderservice/global/client/user/GetCustomerResponse.java create mode 100644 order-service/src/main/java/com/justpickup/orderservice/global/client/user/UserClient.java create mode 100644 order-service/src/main/java/com/justpickup/orderservice/global/config/FeignClientConfig.java create mode 100644 order-service/src/main/java/com/justpickup/orderservice/global/dto/Result.java create mode 100644 order-service/src/main/java/com/justpickup/orderservice/global/entity/Yn.java diff --git a/order-service/src/main/java/com/justpickup/orderservice/OrderServiceApplication.java b/order-service/src/main/java/com/justpickup/orderservice/OrderServiceApplication.java index c2d4642..698d9fd 100644 --- a/order-service/src/main/java/com/justpickup/orderservice/OrderServiceApplication.java +++ b/order-service/src/main/java/com/justpickup/orderservice/OrderServiceApplication.java @@ -3,9 +3,11 @@ package com.justpickup.orderservice; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; +import org.springframework.cloud.openfeign.EnableFeignClients; @SpringBootApplication @EnableEurekaClient +@EnableFeignClients public class OrderServiceApplication { public static void main(String[] args) { diff --git a/order-service/src/main/java/com/justpickup/orderservice/global/client/store/GetItemResponse.java b/order-service/src/main/java/com/justpickup/orderservice/global/client/store/GetItemResponse.java new file mode 100644 index 0000000..a750e95 --- /dev/null +++ b/order-service/src/main/java/com/justpickup/orderservice/global/client/store/GetItemResponse.java @@ -0,0 +1,12 @@ +package com.justpickup.orderservice.global.client.store; + +import com.justpickup.orderservice.global.entity.Yn; +import lombok.Data; + +@Data +public class GetItemResponse { + private Long id; + private String name; + private Yn salesYn; + private Long price; +} diff --git a/order-service/src/main/java/com/justpickup/orderservice/global/client/store/StoreClient.java b/order-service/src/main/java/com/justpickup/orderservice/global/client/store/StoreClient.java new file mode 100644 index 0000000..c2762bb --- /dev/null +++ b/order-service/src/main/java/com/justpickup/orderservice/global/client/store/StoreClient.java @@ -0,0 +1,13 @@ +package com.justpickup.orderservice.global.client.store; + +import com.justpickup.orderservice.global.dto.Result; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +@FeignClient(name = "STORE-SERVICE", url = "127.0.0.1:8001/store-service") +public interface StoreClient { + + @GetMapping("/item/{itemId}") + Result getItem(@PathVariable("itemId") Long itemId); +} diff --git a/order-service/src/main/java/com/justpickup/orderservice/global/client/user/GetCustomerResponse.java b/order-service/src/main/java/com/justpickup/orderservice/global/client/user/GetCustomerResponse.java new file mode 100644 index 0000000..e24d23d --- /dev/null +++ b/order-service/src/main/java/com/justpickup/orderservice/global/client/user/GetCustomerResponse.java @@ -0,0 +1,10 @@ +package com.justpickup.orderservice.global.client.user; + +import lombok.Data; + +@Data +public class GetCustomerResponse { + private Long userId; + private String userName; + private String phoneNumber; +} diff --git a/order-service/src/main/java/com/justpickup/orderservice/global/client/user/UserClient.java b/order-service/src/main/java/com/justpickup/orderservice/global/client/user/UserClient.java new file mode 100644 index 0000000..4a81250 --- /dev/null +++ b/order-service/src/main/java/com/justpickup/orderservice/global/client/user/UserClient.java @@ -0,0 +1,13 @@ +package com.justpickup.orderservice.global.client.user; + +import com.justpickup.orderservice.global.dto.Result; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +@FeignClient(name = "USER-SERVICE", url = "127.0.0.1:8001/user-service") +public interface UserClient { + + @GetMapping("/customer/{userId}") + Result getUser(@PathVariable("userId") Long userId); +} diff --git a/order-service/src/main/java/com/justpickup/orderservice/global/config/FeignClientConfig.java b/order-service/src/main/java/com/justpickup/orderservice/global/config/FeignClientConfig.java new file mode 100644 index 0000000..781f2e1 --- /dev/null +++ b/order-service/src/main/java/com/justpickup/orderservice/global/config/FeignClientConfig.java @@ -0,0 +1,14 @@ +package com.justpickup.orderservice.global.config; + +import feign.Logger; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class FeignClientConfig { + + @Bean + public Logger.Level feignLoggerLevel() { + return Logger.Level.FULL; + } +} diff --git a/order-service/src/main/java/com/justpickup/orderservice/global/dto/Result.java b/order-service/src/main/java/com/justpickup/orderservice/global/dto/Result.java new file mode 100644 index 0000000..9024d56 --- /dev/null +++ b/order-service/src/main/java/com/justpickup/orderservice/global/dto/Result.java @@ -0,0 +1,11 @@ +package com.justpickup.orderservice.global.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data @NoArgsConstructor @AllArgsConstructor +public class Result { + private String message; + private T data; +} diff --git a/order-service/src/main/java/com/justpickup/orderservice/global/entity/Yn.java b/order-service/src/main/java/com/justpickup/orderservice/global/entity/Yn.java new file mode 100644 index 0000000..e4f278d --- /dev/null +++ b/order-service/src/main/java/com/justpickup/orderservice/global/entity/Yn.java @@ -0,0 +1,5 @@ +package com.justpickup.orderservice.global.entity; + +public enum Yn { + Y, N +}