본 게시글은 'Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)' 강의를 공부하며 학습을 기록하기위한 목적으로 작성된 글입니다.
API
| 기능 | 마이크로 서비스 | URI(API Gateway 사용 시) | HTTP Method |
|---|
| 상품 목록 조회 | Catalogs MicroService | /catalog-service/catalogs | GET |
프로젝트 생성

application.yml

- jpa 설정에서 hibernate:ddl-auto를 create-drop으로 설정합니다.
- 어플리케이션이 실행 될 때 초기 데이터 값(data.sql)을 자동으로 삽입합니다.
data.sql

CatalogEntity

- 데이터 직렬화를 위해 Serializable을 상속받습니다.
- updatable = false, insertable = false
- 생성날짜는 수정이 불가능하며 데이터 삽입 시 자동으로 생성되므로 삽입할 수 없는 컬럼입니다.
- @ColumnDefault(value = "CURRENT_TIMESTAMP")
- h2 db에서 현재 날짜를 가져오는 함수 CURRENT_TIMESTAMP를 호출한 값을 기본값으로 저장합니다.
CatalogRepository

CatalogDto

ResponseCatalog

- @JsonInclude(JsonInclude.Include.NON_NULL)
CatalogService


CatalogController

테스트

data.sql에 작성한 초기값이 정상적으로 저장되어있는 것을 볼 수 있습니다.
apigateway 설정

사용자(Client)가 /catalog-service/로 호출하는 모든 요청에 대해서 유레카의 CATALOG-SERVICE로 보내집니다.
결과
