[ 작업한 내용 ]
1. auth, user 디렉토리 분류 및 구분
- 로그인, 로그아웃, 회원가입을 auth에서 관리하고 user에서는 사용자 정보를 불러오도록 디렉토리 분류함.
2. AuthController 클래스에서 /me api 제거
- UserController에서 관리하기 위해서.
3. 사용자 정보 가져오는 기능 추가
- UserController 기본 api uri 시작은 /api/v1/user로 지정.
- UserController에 사용자 인증 정보를 가져오는 api 기능 추가.
- 정보를 가져오는 것은 Authentication.getPrincipal()을 사용.
- UserInfoResponseDTO를 생성하여 username, email, joindate, lastlogindate를 가짐.
- UserInfoResponseDTO에 인증 객체인 user에서 username, email, joindate, lastlogindate를 가져와 생성하기.
- 정보가 담긴 UserInfoResponseDTO를 controller 계층에서 return해줌.
[ 메모 ]
1. UserController를 새로 생성하고 api test를 하는데 예외가 발생함. 디버깅을 하려고해도 디버깅이 되지 않아서 UserController가 작동을 하지 않는 거 같다고 판단함.
- 원인: 빈이 충돌해서 그런거 같음.
- 해결: ./gradlew clean build 를 정상작동함.
2. UserInfoResponseDTO에 인증된 객체의 정보 담아서 인스턴스를 생성하려고 했는데, username과 email이 getter가 동작하지 않음.
- 원인: private static String username 이렇게 static 키워드를 사용해서 생성자에 포함이 안 되었다.
- 해결: static 키워드를 제거함.
- 메모: @AllArgsConstructor 어노테이션을 사용하면 static키워드가 있는 필드는 생성자 생성할 때 포함이 안된다.
'개발 기록 > 도서관 관리 시스템' 카테고리의 다른 글
[Library Management System] 25.08.05 (20일) (0) | 2025.08.05 |
---|---|
[Library Management System] 25.08.04 (17~19일) (0) | 2025.08.04 |
[Library Management System] 25.07.31 (15일) (0) | 2025.07.31 |
[Library Management System] 25.07.21~25.07.30 (5~14일) (0) | 2025.07.31 |
[Library Management System] 25.07.19~20 작업 3~4일차 (0) | 2025.07.21 |