API 명세서 (11조)

공통 응답 형식

{
    "success": true,           // boolean
    "message": "성공 메시지",   // string
    "data": {},               // 실제 데이터 (null 가능)
    "timestamp": "2024-03-21T10:00:00Z"  // ISO 8601 형식
}

auth

Method 기능 URL Request Response 상태코드
POST 회원가입 /auth/signup {
"loginId": "user1",
"password": "password!1",
"nickname": "nickname",
"userRole" : "seller"
} {
"success": true,
"message": "회원가입 되었습니다.",
"data": {
   "id": 1,
   "loginId": "user1",
   "nickname": "nickname",
   “userRole” : “seller”

}, "timestamp": "2024-03-21T10:00:00Z" } | 201 | | POST | 로그인 | /auth/login | { "loginId": "user1", "password": "password!1" } | { "success": true, "message": "로그인 되었습니다.", "data": { "token": "Bearer 24f3gjh254fjgh" }, "timestamp": "2024-03-21T10:00:00Z" } | 201 |

products

판매자 seller

Method 기능 URL Request Response 상태코드
POST 상품 등록 /seller/products {
"productName" : "name",
"type" : "상품종류",
"price" : 1000,
"quantity" : 10
} {
"success": true,
"message": “상품이 등록되었습니다.”,
"data": {
     “id”: 1,
     “sellerId” : 1,
     “productName” : “name”,
     “type” : “상품종류”,
     “price” : 1000,
    “quantity” : 10
},
"timestamp": "2024-03-21T10:00:00Z"

} | 201 | | DELETE | 상품 삭제 | /seller/products/{id} | | { "success": true, "message": “상품이 삭제되었습니다.", "data": null, "timestamp": "2024-03-21T10:00:00Z" } | 200 | | PATCH | 상품 수정 | /seller/products/{id} | { "productName" : "name", "type" : "상품종류", "price" : 1000, "quantity" : 10 } | { "success": true, "message": “상품이 수정되었습니다.”, "data": { “id”: 1, “sellerId” : 1, “productName” : “name”, “type” : “상품종류”, “price” : 1000, “quantity” : 10 }, "timestamp": "2024-03-21T10:00:00Z" } | 200 |

전체

Method 기능 URL Request Response 상태코드
GET 상품 단건 조회 /products/{id} {
"success": true,
"message": “상품이 조회되었습니다.”,
"data": {
     “id”: 1,
     “productName” : “name”,
     “type” : “상품종류”,
     “price” : 1000,
    “quantity” : 10
},
"timestamp": "2024-03-21T10:00:00Z"

} | 200 | | GET | 상품 전체 조회 | /products | ?search=”신발”&page=1&size=10 | { "success": true, "message": “상품이 조회되었습니다.”, "data": { “contents”: [ { “id”: 1, “productName” : “어른 신발”, “type” : “상품종류”, “price” : 1000, “quantity” : 10 }, { “id”: 2, “productName” : “어린이 신발”, “type” : “상품종류”, “price” : 1000, “quantity” : 10 } ], “page” : 5, “size” : 10, “totalPages” : 5, “totalElements” : 50, “isFirst” : false, “isLast” : true }, "timestamp": "2024-03-21T10:00:00Z" } | 200 |

orders

판매자 seller

Method 기능 URL Request Response 상태코드
GET 상품을 구매한 고객 조회 /seller/orders/products/{productId} ?page=1&size=10 {
"success": true,
"message": “구매 목록이 조회되었습니다.”,
"data": {
    “contents”: [
         {
            “id”: 1,
            “userId” : 1,
            “productId” : 1,
            “quantity” : 10
        },
        {
            “id”: 1,
            “userId” : 2,
            “productId” : 1,
            “quantity” : 5
        },
    ],
    “page” : 5,
    “size” : 10,
    “totalPages” : 5,
    “totalElements” : 50,
    “isFirst” : false,
    “isLast” : true
},
"timestamp": "2024-03-21T10:00:00Z"

} | 200 |

전체

Method 기능 URL Request Response 상태코드
POST 상품 구매 /orders/products/{productId} {
  “quantity” : 5

} | { "success": true, "message": “상품 구매가 완료되었습니다.", "data": { “id”: 1, “userId” : 2, “productId” : 1, “quantity” : 5 }, "timestamp": "2024-03-21T10:00:00Z" } | 201 |

search

Method 기능 URL Request Response 상태코드
GET 인기 검색어 목록 조회 /search {
"success": true,
"message": “인기 검색어 목록이 조회되었습니다.",
"data": {
       “trendingKeywords” : {신발 } 
 },
"timestamp": "2024-03-21T10:00:00Z"

} | 200 |