개요
- 네이버 예약 서비스의 메인 페이지를 보여주는 3가지의 기능 구현
- 네이버 예약 서비스의 상세보기 목록을 보여주는 2가지의 기능 구현
- 해당 기능을 Web API 문서로 작성
요구사항
- 제공된 SQL을 이용해서 테이블을 생성하고, 샘플데이터를 입력합니다.
- maven을 이용해서 웹 어플리케이션 프로젝트를 작성합니다.
- 학습했던 것처럼 controller,service,dao로 레이어드 아키텍쳐를 구성합니다.
- spring JDBC를 이용하여 주어진 테이블로부터 입력, 수정, 삭제, 조회하는 DAO와 DTO를 작성합니다.
- 서비스 인터페이스를 작성하고 해당 서비스 인터페이스에 비지니스 메소드를 작성합니다.
- 서비스 인터페이스를 구현하는 클래스를 작성합니다.
- 해당 구현 클래스의 메소드에 적절한 트랜잭션에 관련된 애노테이션을 사용합니다.
- 클라이언트에게 Web API를 제공하기 위해 RestController 를 작성합니다.
- Swagger를 이용해 Web API 테스트 페이지를 제공합니다.
- Web API를 JUnit을 이용해 Test합니다.
설명
GET (카테고리 목록 구하기): /api/categories
items : 카테고리 목록
id : 카테고리 id
name : 카테고리 이름
count : 카테고리에 포함된 전시 상품(display_info)의 수. 주의해야할 것은 하나의 상품이 여러 곳에 전시될 수 있다.
GET (상품 목록 구하기): /api/products
totalCount : 해당 카테고리의 전시 상품 수
productCount : 읽어온 전시 상품 수
products : 전시 상품 정보
size : 프로모션 정보의 수
items : 프로모션 상품 정보
fileId : file_info 테이블의 id (product_image의 타입중 ma인 경우만)
GET (전시 정보 구하기): /api/displayinfos/{displayId}
product : 상품정보
productImages : 상품 이미지 정보들
displayInfoImages : 전시 이미지 정보들
avgScore : 댓글 점수의 평균 (int값)
productPrices : 상품 가격 정보들
totalCount : 해당 상품의 댓글 전체 수
commentCount : 읽어온 댓글 수
reservationUserComments : 댓글 정보
결과
Swagger 페이지
GET (카테고리 목록 구하기): /api/categories
GET (상품 목록 구하기): /api/products
GET (전시 정보 구하기): /api/displayinfos/{displayId}