상품 정보 제공, 리뷰 작성/수정/삭제 기능을 지원하는 RESTful API 서버입니다.
다운로드한 zip 파일을 압축 해제한 후, 다음 명령어로 서버를 실행할 수 있습니다:
서버가 성공적으로 실행되면 localhost:8080에서 API를 사용할 수 있습니다.
Swagger UI는 localhost:8080/swagger-ui.html에서 확인할 수 있습니다.
/api/products모든 제품을 페이지별로 조회합니다.
page (int): 페이지 번호 (필수) size (int): 페이지당 항목 수 (필수) category (String): 카테고리 필터 (선택)
{
"content": [
{
"id": 1,
"name": "상품명",
"description": "상품 설명",
"price": 10000,
"category": "카테고리",
"stockQuantity": 100,
"averageRating": 4.5,
"reviewCount": 50
}
],
"totalPages": 10,
"totalElements": 100,
"currentPage": 1,
"pageSize": 10
}/api/products/{productId}특정 제품의 상세 정보와 리뷰를 조회합니다.
productId (long): 제품 ID (Path Parameter)
{
"product": {
"id": 1,
"name": "상품명",
"description": "상품 설명",
"price": 10000,
"category": "카테고리",
"stockQuantity": 100,
"averageRating": 4.5,
"reviewCount": 50
},
"reviews": [
{
"id": 1,
"userId": 1,
"nickname": "사용자닉네임",
"rating": 5,
"content": "리뷰 내용",
"createdAt": "2023-01-01T00:00:00"
}
]
}404 Not Found
/api/products/{productId}/reviews특정 제품에 대한 리뷰를 생성합니다.
productId (long): 제품 ID (Path Parameter)
{
"userId": 1,
"rating": 5,
"content": "리뷰 내용"
}201 Created
400 Bad Request, 404 Not Found
/api/reviews/{reviewId}기존 리뷰를 수정합니다.
reviewId (long): 리뷰 ID (Path Parameter)
{
"userId": 1,
"rating": 4,
"content": "수정된 리뷰 내용"
}200 OK
400 Bad Request, 404 Not Found
/api/reviews/{reviewId}기존 리뷰를 삭제합니다.
reviewId (long): 리뷰 ID (Path Parameter) userId (long): 사용자 ID (필수)
204 No Content
404 Not Found
/api/users/{userId}/reviews특정 사용자의 리뷰 목록을 조회합니다.
userId (long): 사용자 ID (Path Parameter) page (int): 페이지 번호 (선택, 기본값: 1) size (int): 페이지당 항목 수 (선택, 기본값: 10)
{
"content": [
{
"id": 1,
"productId": 1,
"productName": "상품명",
"rating": 5,
"content": "리뷰 내용",
"createdAt": "2023-01-01T00:00:00",
"updatedAt": "2023-01-01T00:00:00"
}
],
"totalPages": 5,
"totalElements": 50,
"currentPage": 1,
"pageSize": 10
}404 Not Found
/api/users새로운 사용자를 생성합니다.
{
"email": "user@example.com",
"password": "password123",
"nickname": "닉네임"
}{
"status": "success"
}400 Bad Request, 409 Conflict, 500 Internal Server Error
/api/users/login사용자 로그인을 처리합니다.
{
"email": "user@example.com",
"password": "password123"
}{
"status": "success"
}400 Bad Request, 401 Unauthorized, 500 Internal Server Error