회원
상품 관리
상품 이미지 등록 - POST /api/v1/product-image
Req
POST /api/v1/product-image
Content-type: multipart/form-data
{
"fileName": "image1.jpg",
"contentType": "image/jpeg"
}
Res
HTTP/1.1 201 Created
{
"imageId": "randumUUID",
"imageKey": "key",
"imageUrl": "https://image.s3/product/randomUUID"
}
상품 조회 - GET /api/v1/products?categoryId={categoryId}&minPrice={minprice}&maxPrice={maxprice}&sort={sortType},{sortBy}&page={page}&size={size}
Req
GET /api/v1/products?categoryId=3&minPrice=5000&maxPrice=20000&sort=price,asc&page=0&size=10
Res
Http/1.1 200 OK
{
"totalPages": 5,
"currentPage": 0,
"totalElements" 42,
"currentSize": 10,
"productSearchResponse": [
{
"id": 1,
"productName": "무선 이어폰",
"price": 129000,
"thumbnailUrl": "https://example.com/images/1.jpg",
"categoryName": "electronics"
}, ...
]
}
상품 등록 (Admin) - POST /api/v1/products
Req
POST /api/v1/products
Content-type: application/json
{
"name": "무선 이어폰",
"description": "고품질 블루투스 아이폰",
"price": 129000,
"stockQuantity": 100,
"categoryId":1,
"imageIds": ["UUID", "UUID2",..],
"imageUrls": ["url", "url2",...],
"imageKeys": ["key", "key2",...],
"isThumbnail": ["true", "false",...],
"imageSortOrder": [-1, 1,...]
}
Res
Http/1.1 201 Created
{
"id": 1,
"createdAt": "2025-04-11T14:00:00"
}
상품 수정 (Admin) - PUT /api/v1/products/{productId}
Req
PUT /api/v1/products/1
Content-type: application/json
{
"name": "무선 이어폰",
"description": "고품질 블루투스 아이폰",
"price": 129000,
"stockQuantity": 100,
"categoryId":1
}
Res
HTTP/1.1 200 OK
{
"id": 1,
"updatedAt": "2025-04-11T17:00:00"
}
상품 삭제 (Admin) - DELETE /api/v1/products/{productId}
Req
DELETE /api/v1/products/{productId}
Res
HTTP/1.1 204 No Content / 404 Not Found
카테고리 관리
상품 주문
장바구니
REQ
GET /api/v1/cart
RES
HTTP/1.1 200 OK
{
"dateTime": "2025-05-09",
"status": {
"code": "0000",
"message": "정상 처리되었습니다."
},
"data": {
"cartProductList": [
{
"productSummary": {
"id": 1,
"productName": "testName",
"price": 50000,
"thumbnailUrl": "http://localhost:9000/images/products/9b1a2ca7-b978-4ced-a11a-b86cc4386772.png",
"soldOut": false
},
"quantity": 5,
"status": "AVAILABLE",
"productTotalPrice": 250000
}
],
"cartTotalPrice": 250000
}
}
Req
POST /api/v1/cart/products
Content-type: application/json
{
"productId": 1,
"addQuantity": 1
}
Res
HTTP/1.1 200 OK
{
"dateTime": "2025-05-09",
"status": {
"code": "0000",
"message": "정상 처리되었습니다."
},
"data": {
"cartProductList": [
{
"productSummary": {
"id": 1,
"productName": "testName",
"price": 50000,
"thumbnailUrl": "http://localhost:9000/images/products/9b1a2ca7-b978-4ced-a11a-b86cc4386772.png",
"soldOut": false
},
"quantity": 7,
"status": "AVAILABLE",
"productTotalPrice": 350000
}
],
"cartTotalPrice": 350000
}
}
Req
PUT /api/v1/cart/products/1
Content-type: application/json
{
"quantity": 1
}
Res
HTTP/1.1 200 OK
{
"dateTime": "2025-05-09",
"status": {
"code": "0000",
"message": "정상 처리되었습니다."
},
"data": {
"cartProductList": [
{
"productSummary": {
"id": 1,
"productName": "testName",
"price": 50000,
"thumbnailUrl": "http://localhost:9000/images/products/9b1a2ca7-b978-4ced-a11a-b86cc4386772.png",
"soldOut": false
},
"quantity": 1,
"status": "AVAILABLE",
"productTotalPrice": 50000
}
],
"cartTotalPrice": 50000
}
}
Req
DELETE /api/v1/cart/products/1
Res
HTTP/1.1 200 OK
{
"dateTime": "2025-05-09",
"status": {
"code": "0000",
"message": "정상 처리되었습니다."
},
"data": {
"cartProductList": [],
"cartTotalPrice": 0
}
}
배송
리뷰
고객센터
프로모션
쿠폰
관리자