Skipalong's tistory
231124 TIL - 에러코드에 답이 있다. 본문
오늘도 어제에 이어서 팀 프로젝트를 이어나갔다.
어제까지 진행했던 상태는 JWT 토큰을 발급하고 토큰을 사용해서 로그인을 한 뒤 인증을 받고 UserDetailsImpl 을 사용해서 user객체를 받아온 뒤 비밀번호와 상태를 변경하는 코드를 짰는데 아무리 포스트맨을 이용해 요청을 보내도 에러코드도 반환이 안되고 원하는 결과값이 반환이 안되었던 상태였다.
그래서 튜터님들이 해주셨던 말 중 '에러코드에 답이 있다.' 라는 말을 생각하며 에러코드를 하나씩 곰곰히 생각해 보니 정말 그 안에 답이 있었다.
우선 포스트맨에 요청을 보냈을 때 403 상태코드가 반환이 되었는데 403에 대해 찾아보니
403은 요청은 잘 되었고 권한이 없는 것이 문제였던 것이다. 그래서 전에 개인과제를 할 때는 인증이 문제없이 잘 되었었는데 이번 팀프로젝트에는 무엇이 달라졌길래 인증이 안될까 생각을 해보았다. 그리고 문제는 아주 간단한 곳에 있었다.
개인과제를 할때는 JWT토큰을 쿠키에 넣어서 보관을 했고 이번에는 토큰을 쿠키에 넣어서 보관하는 작업을 하지 않았던 것이다. 그래서 위와같이 포스트맨의 Header 에 발급받은 토큰을 넣어줬더니 정상적인 상태코드가 떴다.
그리고 DB에 값이 잘 들어갔나 확인을 해 보았는데 이번에는 DB에 값이 업데이트가 되어있지 않은것이다.
어제 쓴 TIL에 userDetails.getUser() 에 Null 값이 자까 반환된다는 에러코드가 있었는데 System.out.println(); 으로 확인을 해봐도 값은 잘 들어가 있었다. 그래서 문제가 뭘까 생각을 해보았더니 user.updateDescription() 메서드를 사용해서 user객체의 description필드를 생성자를 통해 넣어주는 방식으로 로직을 짰는데 user객체를 DB에 저장하는 작업을 하지 않은것이 문제였다. 그래서
이렇게 코드를 변경 했더니 DB까지 업데이트가 잘 되었다.
이번에 겪은 문제에서는 튜터님의 말씀대로 에러코드에 답이 정말 있었고 그 부분에 대해 잘 생각해보면 문제를 찾을 수 있다고 느꼈고, 결국 JWT를 통해 인증을 하는 프로세스에 대한 이해가 떨어진다는 점을 다시 한 번 느꼈다. 그래도 이런 문제를 겪고 또 해결해나가면서 내가 쓴 코드가 어떤 식으로 동작하는지 한 번 더 생각해볼 수 있는 기회였고 문제를 해결했으므로 어제보다 조금 더 성장한 것 같아서 나름 뿌듯했다. 상태메시지가 정상적으로 반환되고 DB에 값이 제대로 저장됬을 때 정말 기뻤다.
내일부터는 주말인데 내가 맡은 부분은 다 구현했지만 팀원들이 어려움을 겪고 있는 것 같아서 팀원들과 함께 팀 프로젝트를 무사히 완수할 수 있도록 팀원들에게 도움을 줄 수 있는 부분이 있었으면 좋겠다. 월요일 제출 전까지 주말반납하고 열심히 해봐야겠다. 내일도(주말도) 화이팅!
'TIL' 카테고리의 다른 글
231129 TIL - 심화주차 체크리스트(테스트코드) (0) | 2023.11.30 |
---|---|
231128 TIL - 심화주차 체크리스트(OAuth) (0) | 2023.11.29 |
231123 TIL - 역할분담, 설계 트러블, Null반환문제 (0) | 2023.11.24 |
231122 TIL - IllegalStateExceoption , error.getMessage(), RestfulAPI 네이밍 (2) | 2023.11.23 |
231121 TIL - KPT회고 리마인드, 뉴스피드프로젝트 설계 (0) | 2023.11.22 |