# Users MSA를 Spring Cloud GW에 연동하고 사용자를 조회하는 서비스를 만든다.
- 컨트롤러에 Health_Check 정보를 수정하여 포트 정보를 화면에 받아 오도록 설정
@GetMapping("/health_check")
public String status() {
return String.format("It is Working in UserService on PORT %s",
env.getProperty("local.server.port"));
}
- 이전에 생성한 api gw 소스코드를 오픈한뒤 아래와 같이 application.yaml 파일의 아래의 내용을 추가한다.
routes:
- id: user-service
uri: lb://USER-SERVICE #first-service project's application name
predicates:
- Path=/user-service/** #사용자가 입력한 조건값
- 그리고 실행하면 아래와 같이 eureka에 gw 서비스와 유저 서비스가 등록된 것을 확인할 수 있다.
- 그리고 user-service controller로 이동하여 호출하는 uri 값을 아래와 같이 수정해준다.
아래와 같이 /user-service를 앞에 붙여주는 이유는 위에서 생성한 application.yaml 파일의 predicates:에 설정된 path 경로를 호출하는 컨트롤러의 uri값에 넣어줘야 한다.
- api gw를 호출하면 아래와 같은 결과를 얻을 수 있다.
# 사용자 조회 기능 만들기
- 일단 위에서 등록한 user-service uri 주소를 prefix로 등록해 놓자.
- vo 패키지에 있는 ResponseUser에 주문 데이터 값을 반환하기 위한 코드를 작성한다.
- 그리고 vo 패키지안에 ResponseOrder라는 클래스를 생성해주고 주문 데이터 값을 반환하기 위한 코드를 작성한다.
(해당 내용는 아래의 github에 등록된 코드를 통해 내용을 확인한다.)
- 다음으로 service 패키지에 있는 userService 인터페이스를 수정한다.
그리고 인터페이스에 있는 것을 상속받아서 가져오는 것이므로 항상 재정의를 해줘야 한다.
그리고 메소드 구현을 통해 인터페이스에 있는것을 임플에서 구현한다. alt + insert
- UserController로 이동하여 GetMapping 정보를 생성한다.
전체 사용자를 조회하는 코드와 사용자 id를 개별적으로 입력하여 조회하는 코드를 따로 작성한다.
# 여기까지 작업한 내역은 아래와 같다.
- 사용자를 등록할 수 있다.
- 전체 사용자를 조회 할 수 있다.
- userId를 통해 특정 사용자만 조회 할 수 있다.
- 동작 과정은 아래와 같다.
- mp4 버전은 아래와 같다.
- 지금까지의 코드는 아래에 업로드 해놓았다.
https://github.com/Nanninggu/MSA-Spring-API-GW/tree/UsersMicroservice-202300403
- 끝 -
'MSA (MicroServiceArchitecture) > MSA Application (온라인 쇼핑몰))' 카테고리의 다른 글
5. Config 서비스 생성 (0) | 2023.04.06 |
---|---|
4. 모든 서비스를 실행하기 (Eureka, API GW, User, Catalog, Order) (0) | 2023.04.04 |
3. CatalogService 만들기 (0) | 2023.04.04 |
0.MSA 애플리케이션 개발 개요 (온라인 쇼핑몰) (0) | 2023.03.31 |
1. UserService 생성 및 기본 정보 구현 (0) | 2023.03.31 |