팀과제를 하는데 회원정보를 수정하고 회원 정보만 조회하는 로직을 만들기로 했다.
그동안에 해오던 CRUD여서 자만했는데 혼자서 하다가 혼란에 빠졌었다..
회원정보이기 때문에 로그인한 사용자의 userDetails를 사용하면 되는데 그걸 생각을 못하고
2022.08.23 - [SPRING] - [SPRING] Spring Security framework
평소 CRUD 처럼 repository에서 id 값에만 집착을했다...ㅠㅠ
그러고나선 받은 Optional을 어떻게 처리할까 하고... 거의 1,2 시간은 헤멨다 ㅎㅎ...
그래서 물어물어 얻은 로직 생성 방법 두가지 ...
잊지않기 위해서 ^^
TokenProvider 에서 UserDetails 가지고 오기
[ResponseDto] 설정 => 보여줄 정보 값을 설정함
[Service] getMyInfo 메소드 설정
토큰 프로바이더에서 겟멤버를 해오는 메소드를 member에 저장해준다
[TokenProvider] getMemberFromAuthentication
return 값 : 유저디테일스 감싸서 (authentication에서 Principal에서 Member)
= 현재 로그인한 유저의 userdatails 값
[Service] getMyInfo 메소드 설정
responseDto 객체에 넣어주고 return ....
단 3줄로 끝 ^^
UserDatils에서 id 값 가지고와서 하는 방법
[Service]설정
[레포지토리] findByEmail.. String email 받아오기
[Controller]
usedId 을 userDetails에서 바로 userName 을 가지고 온다! (로그인한 사용자의 id = String email)
그리고 리턴값에 서비스에서 설정한 메소드를 넣어준다.
깔-끔
포인트는 로그인한 유저정보를 UserDetails에서 바로 가지고 올수 있다는 점이었다.
이부분을 놓치고 따로 id를 받아서 하려니까 뭔가 로직이 꼬였던것 같다..ㅠㅠ
회원정보 확인 부분도 그렇고... security를 제대로 이해하지 못한 것 같다...
이렇게 오늘 또 배운다.... 할수있다...!!
'🌿SPRING > 🌱연습[SPRING]' 카테고리의 다른 글
[SPRING] 좋아요 토글 만들기 (0,1) (0) | 2022.09.22 |
---|---|
[SPRING] 클론코딩 장바구니 로직 만들기 (0) | 2022.09.15 |
[SPRING] 입문주차 과제 - 출력 값 + 에러코드 만들어주기 (0) | 2022.08.19 |
[SPRING] 입문주차 과제 - 전체 게시글 목록 조회 / 게시글 조회 (0) | 2022.08.17 |
[SPRING]입문주차 과제 비밀번호 확인 API 만들기 (0) | 2022.08.17 |