diff --git a/secondhand/src/main/java/com/codesquad/secondhand/common/filter/CommonFilter.java b/secondhand/src/main/java/com/codesquad/secondhand/common/filter/CommonFilter.java index a59c4b37f..32abf0f81 100644 --- a/secondhand/src/main/java/com/codesquad/secondhand/common/filter/CommonFilter.java +++ b/secondhand/src/main/java/com/codesquad/secondhand/common/filter/CommonFilter.java @@ -39,7 +39,8 @@ public abstract class CommonFilter extends OncePerRequestFilter { new WhiteListUri("^/connect/[0-9]*$", Set.of("GET")), new WhiteListUri("^/oauth2/authorization/[^/]+$", Set.of("GET")), new WhiteListUri("^/login/oauth2/code/.*$", Set.of("GET")), - new WhiteListUri("^/api/regions$", Set.of("GET")) + new WhiteListUri("^/api/regions$", Set.of("GET")), + new WhiteListUri("^/api/products/[0-9]*/stat$", Set.of("GET")) ); protected JwtProvider jwtProvider; diff --git a/secondhand/src/main/java/com/codesquad/secondhand/common/util/RequestParser.java b/secondhand/src/main/java/com/codesquad/secondhand/common/util/RequestParser.java index a465769f5..bd4bd3772 100644 --- a/secondhand/src/main/java/com/codesquad/secondhand/common/util/RequestParser.java +++ b/secondhand/src/main/java/com/codesquad/secondhand/common/util/RequestParser.java @@ -16,7 +16,13 @@ public static String extractAccessToken(HttpServletRequest request) { } public static Long extractMemberId(HttpServletRequest request) { - return Long.valueOf(String.valueOf(request.getAttribute(MEMBER_ID))); + Object attribute = request.getAttribute(MEMBER_ID); + if (attribute == null) { + return null; + } + + String memberId = attribute.toString(); + return Long.valueOf(memberId); } public static String extractEmail(HttpServletRequest request) { diff --git a/secondhand/src/main/java/com/codesquad/secondhand/domain/product/service/ProductService.java b/secondhand/src/main/java/com/codesquad/secondhand/domain/product/service/ProductService.java index 30cee8b13..a1e9afe8d 100644 --- a/secondhand/src/main/java/com/codesquad/secondhand/domain/product/service/ProductService.java +++ b/secondhand/src/main/java/com/codesquad/secondhand/domain/product/service/ProductService.java @@ -131,7 +131,9 @@ public ProductStatResponse findStat(Long productId, Long memberId) { Long viewCount = redisUtil.getViewCount(productId) + product.getViewCount(); Long reactionCount = reactionQueryService.countByProduct(product); Long chattingCount = chatQueryService.countByProduct(product); - Boolean isLiked = reactionQueryService.isLiked(memberId, product); + + // memberId가 null이 아닐 때만 isLiked를 확인 + Boolean isLiked = (memberId != null) ? reactionQueryService.isLiked(memberId, product) : false; return ProductStatResponse.of(viewCount, reactionCount, chattingCount, isLiked); }