프로젝트C. 예약 : 메인, 상세보기 관련 WEB API

oyeon·2021년 2월 5일
0
post-custom-banner

개요

  • 네이버 예약 서비스의 메인 페이지를 보여주는 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 : 전시 상품 정보

GET (프로모션 목록 구하기): /api/promotions

size : 프로모션 정보의 수
items : 프로모션 상품 정보
fileId : file_info 테이블의 id (product_image의 타입중 ma인 경우만)

GET (전시 정보 구하기): /api/displayinfos/{displayId}

product : 상품정보
productImages : 상품 이미지 정보들
displayInfoImages : 전시 이미지 정보들
avgScore : 댓글 점수의 평균 (int값)
productPrices : 상품 가격 정보들

GET (댓글 목록 구하기): /api/usercomments

totalCount : 해당 상품의 댓글 전체 수
commentCount : 읽어온 댓글 수
reservationUserComments : 댓글 정보

결과

Swagger 페이지

GET (카테고리 목록 구하기): /api/categories

GET (상품 목록 구하기): /api/products

GET (프로모션 목록 구하기): /api/promotions

GET (전시 정보 구하기): /api/displayinfos/{displayId}

GET (댓글 목록 구하기): /api/usercomments

profile
Enjoy to study
post-custom-banner

0개의 댓글