Skip to content

Commit 8e9039d

Browse files
authored
Merge pull request #102 from Capstone-OpenStep/feature/#100-badge-api
Refactor: 비로그인 시에도 트렌딩 이슈 목록 확인가능하도록 컨트롤러 수정
2 parents a9ca423 + bd5e6bb commit 8e9039d

2 files changed

Lines changed: 18 additions & 2 deletions

File tree

src/main/java/com/chungang/capstone/openstep/domain/Issue/controller/IssueController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ public class IssueController {
3939
@GetMapping("/trending")
4040
@Operation(summary = "트렌딩 issue 조회 API", description = "현재 인기 있는 트렌딩한 오픈소스 이슈를 조회합니다.")
4141
public ApiResponse<IssueResponseDTO.IssueListDTO> getTrendingIssues() {
42-
Member member = SecurityUtils.getCurrentMember();
4342
List<Issue> issues = issueQueryService.getTrendingIssues();
44-
List<Long> bookmarkedIds = issueQueryService.getBookmarkedIssueIds(member.getMemberId());
43+
Member member = SecurityUtils.getCurrentMemberOrNull();
44+
List<Long> bookmarkedIds = (member != null) ? issueQueryService.getBookmarkedIssueIds(member.getMemberId()) : List.of(); // 비로그인시에는 빈 리스트 반환
4545
return ApiResponse.onSuccess(SuccessStatus.ISSUE_GET_TRENDING_OK, IssueConverter.toIssueListDTO(issues, bookmarkedIds));
4646
}
4747

src/main/java/com/chungang/capstone/openstep/global/security/util/SecurityUtils.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,20 @@ public static Member getCurrentMember() {
3737
PrincipalDetails principal = (PrincipalDetails) auth.getPrincipal();
3838
return principal.getMember();
3939
}
40+
41+
public static Member getCurrentMemberOrNull() {
42+
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
43+
44+
if (auth == null || !auth.isAuthenticated() || auth.getPrincipal().equals("anonymousUser")) {
45+
return null;
46+
}
47+
48+
try {
49+
PrincipalDetails principal = (PrincipalDetails) auth.getPrincipal();
50+
return principal.getMember();
51+
} catch (ClassCastException e) {
52+
return null;
53+
}
54+
}
55+
4056
}

0 commit comments

Comments
 (0)