Skip to content

Commit 8994395

Browse files
committed
refactor:유저 조회 api 수정
1 parent 8643071 commit 8994395

File tree

3 files changed

+16
-9
lines changed

3 files changed

+16
-9
lines changed

src/main/java/com/back/domain/user/controller/UserAuthController.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,7 @@ public RsData<Void> logout(HttpServletRequest request, HttpServletResponse respo
5555

5656
@Operation(summary = "현재 로그인한 유저 정보 조회", description = "세션 유효성 검증 및 사용자 정보 반환")
5757
@ApiResponses(value = {
58-
@ApiResponse(responseCode = "200", description = "인증된 유저 정보 반환 성공"),
59-
@ApiResponse(responseCode = "401", description = "인증되지 않은 사용자"),
60-
@ApiResponse(responseCode = "500", description = "서버 내부 오류")
58+
@ApiResponse(responseCode = "200", description = "사용자 정보 조회"),
6159
})
6260
@GetMapping("/me")
6361
public RsData<UserMeResDto> getCurrentUser() {

src/main/java/com/back/domain/user/service/UserAuthService.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -234,21 +234,28 @@ public void setFirstLoginFalse(Long id) {
234234
}
235235

236236
// 현재 로그인한 사용자 정보 조회 (세션 검증용)
237+
// 변경: 항상 200 응답, 비로그인 시 user: null 반환
237238
public UserMeResDto getCurrentUser() {
238239
try {
239240
User actor = rq.getActor();
240241

242+
// 비로그인 상태: user null 반환
241243
if (actor == null) {
242-
log.debug("인증되지 않은 사용자");
243-
throw new ServiceException(401, "인증되지 않은 사용자");
244+
log.debug("인증되지 않은 사용자 - user: null 반환");
245+
return UserMeResDto.builder()
246+
.user(null)
247+
.build();
244248
}
245249

246250
Optional<User> userOpt = userRepository.findById(actor.getId());
247251
if (userOpt.isEmpty()) {
248252
log.warn("사용자 ID {}를 DB에서 찾을 수 없음 (토큰은 유효하나 사용자 삭제됨)", actor.getId());
249-
throw new ServiceException(401, "인증되지 않은 사용자");
253+
return UserMeResDto.builder()
254+
.user(null)
255+
.build();
250256
}
251257

258+
// 로그인 상태: user 정보 반환
252259
User user = userOpt.get();
253260
String provider = extractProvider(user.getOauthId());
254261

@@ -263,11 +270,12 @@ public UserMeResDto getCurrentUser() {
263270
.build())
264271
.build();
265272

266-
} catch (ServiceException e) {
267-
throw e;
268273
} catch (Exception e) {
269274
log.error("사용자 정보 조회 중 서버 오류 발생: {}", e.getMessage(), e);
270-
throw new ServiceException(500, "서버 내부 오류");
275+
// 예외 발생 시에도 user: null 반환
276+
return UserMeResDto.builder()
277+
.user(null)
278+
.build();
271279
}
272280
}
273281

src/main/java/com/back/global/security/SecurityConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
6969
.requestMatchers("/login/oauth2/**").permitAll()
7070
.requestMatchers("/swagger-ui/**", "/api-docs/**").permitAll()
7171
.requestMatchers("/user/auth/refresh").permitAll()
72+
.requestMatchers("/user/auth/me").permitAll()
7273
7374
// 권한 불필요 - 조회 API
7475
.requestMatchers(GET, "/cocktails/**").permitAll()

0 commit comments

Comments
 (0)