Skip to content
This repository has been archived by the owner on Aug 13, 2022. It is now read-only.

3.1. API Design

sieun edited this page Feb 18, 2022 · 36 revisions

개요

  • request
    • HTTP method + URL path
    • body : JSON, multipart/form-data
      {
          key: value
      }
      
  • response
    • status code
    • body : JSON
      • 성공
      {
          status: "",
          message: "",
          data: {}
      }
      
      {
          status: "",
          message: "",
          data: []
      }
      
      • 실패
      {
          errorMessage: ''
      }
      



공통 및 기타

  • 회원가입 : [POST] /users/sign-up
{
    name: '홍길동'
    email: 'hkdhkd@naver.com',
    password: '1234',
    phone: '01012345678'
}
  • 로그인 : [POST] /users/login
{
    email: 'hkdhkd@naver.com',
    password: '1234'
}
  • 로그아웃 : [GET] /users/logout
  • 상품 검색 : [GET] /products/search?kekword={kekword}


상품 목록 페이지 : [GET] /products/{delivery-type}

  • 로켓배송의 카테고리 목록과 상품 목록 조회 : [GET] /products/rocket
  • 로켓프레시의 카테고리 목록과 상품 목록 조회 : [GET] /products/rocket-fresh
  • 로켓직구의 카테고리 목록과 상품 목록 조회 : [GET] /products/rocket-overseas
  • 정기배송의 카테고리 목록과 상품 목록 조회 : [GET] /products/regular


이벤트/쿠폰 목록 페이지

  • 이벤트/쿠폰 목록 조회 : [GET] /available-coupons
{
    { 
        id: 2
        name: '1000원 할인 쿠폰'
        minPrice:20000
        discountPrice: 1000
        expirationTime: '2023-11-12 12:00:00'
        maxCouponCount: 1
    },
    ...
}


상품 상세 페이지

  • 장바구니 담기 : [POST] /carts
{
    productId: 1,
    productNum : 1
}
  • 상품 리뷰 : [POST] /reviews
{
    productId: 1
    score: 10
    content: '튼튼하고 실용적입니다.'
    img: [file]
}  
  • 상품 리뷰 평가하기 : [POST]/reviews/evaluate
{
    reviewId: 3
    evaluation: help
}
{
    reviewId: 3
    evaluation: no-help
}


주문 페이지

  • 구매하기 : [POST] /orders
{
    type: 'CARD'
    receiverName: '홍길동',
    receiverRequest: '문 앞에 놓아주세요',
    couponId: 1
}


MY쿠팡 페이지

  • 쿠폰 발급받기 : [POST] /available-coupons/{id}
    id: '5'
    userId: '12'
  • 개인정보 수정 : [PUT] /users/my-info
{
    name: '홍길동',
    phone: '01012345678',
    password: '1234'
}