본문 바로가기
스프링 (Spring)/SelectShop Project

SelectShop API 설계

by 후닝훈 2021. 8. 2.
반응형

필요한 기능

  1. 키워드로 상품 검색하고 그 결과를 목록으로 보여주기
  2. 관심 상품 등록하기
  3. 관심 상품 조회하기
  4. 관심 상품에 원하는 가격 등록하고, 그 가격보다 낮은 경우 표시하기

 

API 설계

기능 Method URL 반환
키워드로 상품 검색
및 결과 노출
GET /api/search?query=검색어 List<ItemDto>
관심 상품 등록 POST /api/products Product
관심 상품 조회 GET /api/products List<Product>
관심 상품에 관심 가격 등록
및 그 가격보다 낮은 경우 표시하기 
PUT /api/products/{id} id

 

3계층 설계

  1. Controller
    • ProductRestController: 관심 상품 관련 컨트롤러
    • SearchRequestController: 검색 관련 컨트롤러
  2. Service
    • ProductService: 관심 상품 가격 변경
  3. Repository
    • Product: 관심 상품 테이블
    • ProductRepository: 관심 상품 조회, 저장
    • ProductRequestDto: 관심 상품 등록하기
    • ProductMypriceRequestDto: 관심 가격 변경하기
    • ItemDto: 검색 결과 주고받기
  4. 여기서 DB에 저장되는 것은 Product 뿐

반응형

댓글