Skip to content

Commit 62692ea

Browse files
authored
Merge pull request #150 from EAT-SSU/feat/#148-리뷰v2_정보조회
feat: 리뷰 v2 mealId, menuId별 리뷰, 평점 조회
2 parents 96fe669 + eedd7ba commit 62692ea

3 files changed

Lines changed: 63 additions & 1 deletion

File tree

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
## #️⃣ Issue Number
2+
3+
<!--- ex) #이슈번호, #이슈번호 -->
4+
5+
## 📝 요약(Summary)
6+
7+
<!--- 변경 사항 및 관련 이슈에 대해 간단하게 작성해주세요. 어떻게보다 무엇을 왜 수정했는지 설명해주세요. -->
8+
9+
## 💬 공유사항 to 리뷰어
10+
11+
<!--- 리뷰어가 중점적으로 봐줬으면 좋겠는 부분이 있으면 적어주세요. -->
12+
<!--- 논의해야할 부분이 있다면 적어주세요.-->
13+
<!--- ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요? -->
14+
15+
## ✅ PR Checklist
16+
17+
PR이 다음 요구 사항을 충족하는지 확인하세요.
18+
19+
- [ ] 커밋 메시지 컨벤션에 맞게 작성했습니다.
20+
- [ ] 변경 사항에 대한 테스트를 했습니다.(버그 수정/기능에 대한 테스트).

src/main/java/ssu/eatssu/domain/auth/infrastructure/SecurityConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public class SecurityConfig {
3030
private static final String[] AUTH_WHITELIST = {
3131
"/", "/oauths/kakao", "/oauths/apple", "/menus/**", "/meals/**", "/admin/login",
3232
"/reviews", "/reviews/menus/**", "/reviews/meals/**", "/v2/reviews/statistics", "/v2/reviews",
33-
"/partnerships/**"
33+
"/partnerships/**","/v2/reviews/menus/**","/v2/reviews/meals/**"
3434
};
3535

3636
private static final String[] ADMIN_PAGE_LIST = {

src/main/java/ssu/eatssu/domain/review/presentation/MealReviewController.java

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,12 @@
2727
import ssu.eatssu.domain.restaurant.entity.Restaurant;
2828
import ssu.eatssu.domain.review.dto.CreateMealReviewRequest;
2929
import ssu.eatssu.domain.review.dto.MealReviewResponse;
30+
import ssu.eatssu.domain.review.dto.MealReviewsResponse;
31+
import ssu.eatssu.domain.review.dto.MenuReviewResponse;
3032
import ssu.eatssu.domain.review.dto.RestaurantReviewResponse;
3133
import ssu.eatssu.domain.review.dto.UpdateMealReviewRequest;
3234
import ssu.eatssu.domain.review.service.MealReviewService;
35+
import ssu.eatssu.domain.review.service.ReviewService;
3336
import ssu.eatssu.domain.slice.dto.SliceResponse;
3437
import ssu.eatssu.global.handler.response.BaseResponse;
3538

@@ -40,6 +43,8 @@
4043
public class MealReviewController {
4144
private final MealReviewService mealReviewService;
4245

46+
private final ReviewService reviewService;
47+
4348
@Operation(summary = "리뷰 작성", description = "리뷰를 작성하는 API 입니다.")
4449
@ApiResponses(value = {
4550
@ApiResponse(responseCode = "200", description = "리뷰 작성 성공"),
@@ -144,4 +149,41 @@ public BaseResponse<?> toggleReviewLike(
144149
mealReviewService.toggleReviewLike(customUserDetails, reviewId);
145150
return BaseResponse.success();
146151
}
152+
153+
@Operation(summary = "식단(변동 메뉴) 리뷰 정보 조회(메뉴명, 평점 등등) [인증 토큰 필요 X]", description = """
154+
식단 리뷰 정보를 조회하는 API 입니다.<br><br>
155+
메뉴명 리스트, 리뷰 수, 메인 평점, 양 평점, 맛 평점, 각 평점의 개수를 조회합니다.
156+
""")
157+
@ApiResponses(value = {
158+
@ApiResponse(responseCode = "200", description = "리뷰 정보 조회 성공"),
159+
@ApiResponse(responseCode = "400", description = "쿼리 파라미터 누락", content = @Content(schema =
160+
@Schema(implementation = BaseResponse.class))),
161+
@ApiResponse(responseCode = "404", description = "존재하지 않는 식단", content = @Content(schema =
162+
@Schema(implementation = BaseResponse.class)))
163+
})
164+
@GetMapping("/meals/{mealId}")
165+
public BaseResponse<MealReviewsResponse> getMealReviews(
166+
@Parameter(description = "mealId")
167+
@PathVariable(value = "mealId") Long mealId) {
168+
return BaseResponse.success(reviewService.findMealReviews(mealId));
169+
}
170+
171+
@Operation(summary = "고정 메뉴 리뷰 정보 조회(메뉴명, 평점 등등) [인증 토큰 필요 X]", description = """
172+
고정 메뉴 리뷰 정보를 조회하는 API 입니다.<br><br>
173+
메뉴명, 리뷰 수, 메인 평점, 양 평점, 맛 평점, 각 평점의 개수를 조회합니다.
174+
""")
175+
@ApiResponses(value = {
176+
@ApiResponse(responseCode = "200", description = "리뷰 정보 조회 성공"),
177+
@ApiResponse(responseCode = "400", description = "쿼리 파라미터 누락", content = @Content(schema =
178+
@Schema(implementation = BaseResponse.class))),
179+
@ApiResponse(responseCode = "404", description = "존재하지 않는 메뉴", content = @Content(schema =
180+
@Schema(implementation = BaseResponse.class)))
181+
})
182+
@GetMapping("/menus/{menuId}")
183+
public BaseResponse<MenuReviewResponse> getMainReviews(
184+
@Parameter(description = "menuId")
185+
@PathVariable(value = "menuId") Long menuId) {
186+
return BaseResponse.success(reviewService.findMenuReviews(menuId));
187+
}
188+
147189
}

0 commit comments

Comments
 (0)