음식점 정보 제공, 메뉴 관리, 리뷰 작성 기능을 지원하는 RESTful API 서버입니다.
다운로드한 zip 파일을 압축 해제한 후, 다음 명령어로 서버를 실행할 수 있습니다:
서버가 성공적으로 실행되면 localhost:8080에서 API를 사용할 수 있습니다.
Swagger UI는 localhost:8080/swagger-ui.html에서 확인할 수 있습니다.
/api/v1/users/signup새로운 사용자를 등록합니다.
{
"email": "user@example.com",
"password": "password123",
"nickname": "사용자닉네임"
}201 Created
400 Bad Request
/api/v1/users/login사용자 로그인을 처리합니다.
{
"email": "user@example.com",
"password": "password123"
}{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"isSuccess": true
}{
"token": "",
"isSuccess": false
}/api/v1/restaurants음식점 목록을 조회합니다. 페이징, 카테고리 필터링, 검색을 지원합니다.
page (필수): 페이지 번호 (0부터 시작) size (필수): 페이지당 항목 수 category (선택): 카테고리 필터 keyword (선택): 검색 키워드
{
"content": [
{
"id": 1,
"name": "맛있는 삼겹살집",
"category": "한식",
"address": "서울시 강남구 논현동",
"phone": "02-1234-5678",
"description": "고기가 맛있는 집",
"avgRating": 4.5,
"reviewCount": 120,
"createdAt": "2023-01-01T10:00:00"
}
],
"pageable": {
"page": 0,
"size": 10,
"totalElements": 100,
"totalPages": 10
}
}/api/v1/restaurants/{id}특정 음식점의 상세 정보를 조회합니다.
id: 음식점 ID (Path Parameter)
{
"id": 1,
"name": "맛있는 삼겹살집",
"category": "한식",
"address": "서울시 강남구 논현동",
"phone": "02-1234-5678",
"description": "고기가 맛있는 집",
"avgRating": 4.5,
"reviewCount": 120,
"createdAt": "2023-01-01T10:00:00",
"menus": [
{
"id": 1,
"name": "삼겹살 200g",
"price": 15000,
"description": "신선한 삼겹살",
"category": "메인",
"reviewCount": 80
}
]
}404 Not Found
/api/v1/reviews/restaurant/{restaurantId}/menu/{menuId}특정 음식점의 메뉴에 대한 리뷰를 생성합니다. 이미지 파일 첨부 가능.
Authorization: Bearer {token}restaurantId: 음식점 ID (Path Parameter) menuId: 메뉴 ID (Path Parameter)
Form Data: rating (String): 평점 (1-5) content (String): 리뷰 내용 image (MultipartFile, 선택): 리뷰 이미지
201 Created
400 Bad Request
/api/v1/reviewsJSON 형태로 리뷰를 생성합니다.
Authorization: Bearer {token}{
"restaurantId": 1,
"menuId": 1,
"rating": 5,
"content": "정말 맛있어요!"
}201 Created
400 Bad Request