[사이드프로젝트] 그저 그런 REST API로 괜찮은가? - 진정한 REST API 구현해보기 - 프로젝트 설계

프로젝트 설계 - 주제


Event의 등록, 조회 및 수정이 가능한 API

GET /api/events

  • 이벤트 전체 조회

OAuth2 인증 받지 않음 - 아래 링크 제공

{
  "profile" : "이벤트 목록 조회 API 문서 링크",
  "get-an-event" : "단일 이벤트 조회 링크",
  "next" : "다음 페이지",
  "prev" : "이전 페이지"
}

OAuth2 인증 받음 - create-new-event 링크 제공

{
  "profile" : "이벤트 목록 조회 API 문서 링크",
  "get-an-event" : "단일 이벤트 조회 링크",
  "create-new-event" : "이벤트를 생성할 수 있는 링크",
  "next" : "다음 페이지",
  "prev" : "이전 페이지"
}

POST /api/events

  • 이벤트 생성

GET /api/events/{id}

  • 단일 이벤트 조회

PUT /api/events/{id}

  • 이벤트 수정

프로젝트 설계 - 라이브러리


Self-descriptive Message - "profile" 헤더에 SWAGGER UI로 만든 API 문서 제공

HATEOASE - Spring HATEOASE를 사용해서 "HAL" 형식을 사용하여 데이터에 링크 제공

TEST - JUNIT5를 사용해서 TDD 연습

TEST & RUNTIME 환경 분리 - 테스트 환경에서는 H2, RUNTIME에서는 MySQL 사용

좋은 웹페이지 즐겨찾기