2023. 2. 14. 00:10ㆍ스파르타 내일배움캠프
제가 맡은 멤버 백엔드의 기능을 완성하였습니다.
금일부터 계속 프론트 엔드 작업을 하고 있었는데(사실 결과물을 Thymleaf로 출력하는 것과 다를게 없었습니다.) 회원가입과 로그인을 하지 않으면 기능이 잘 동작하는 지 확인할 수가 없었습니다.
하지만 과정에서 브라우저가 어떻게 토큰을 가지고 있고 처리하는 지 하나도 모른다는 생각이 들었습니다.
크롬은 토큰을 어디에 저장할지 찾아보니
1. 쿠키
2. 로컬 스토리지 / 세션 스토리지
에 저장되는 것 같습니다.
이것을 구현하기 전에 우선 회원가입이 되는 지 확인이 필요했습니다.
하지만 HTML form 태그에서 데이터 값이 서버로 잘 넘어오나 에러가 발생하였습니다.
e = rawPassword is null
이러한 에러 로그가 서버에서 잡혔습니다.
확인해보니 데이터는 서버로 잘 넘어왔으나 데이터를 파싱하는데 문제가 있는 것 같았습니다. 우선 데이터가 @ModelAttribute로 받아 객체를 받는데는 성공하였으나, JSON 형식이 아닌 urlencoding 이라는 형식으로 데이터가 넘어와서 그런가라는 생각을 가졌습니다.
해당 문제를 공유하고 질문하는 도중 팀 내부에서 프론트를 더 미루고 다른 걸 먼저 하자는 의견이 있어 우선 미뤄두려고 합니다. 하지만 꼭 한번 해결하거나 짚고 넘어가고 싶습니다.
오늘 제가 네트워크에 대한 지식, 구체적으로 토큰의 작동 방식을 자세히 몰랐다는 것을 알게 되었습니다.
점점 모르는 것만 많아져가 조금 힘이 듭니다. 3개월은 스프링을 배우는데 너무 짧지 않았나라는 생각을 하며 계속 공부해야 겠다고 다짐을 하고 있습니다.
'스파르타 내일배움캠프' 카테고리의 다른 글
[최종 프로젝트] 매칭 멤버 조회 DTO 리펙토링 (0) | 2023.03.07 |
---|---|
[최종 프로젝트] ajax를 통한 MultiPartFile 업로드 (0) | 2023.02.22 |
[최종프로젝트] 테스트 코드 작성 (0) | 2023.02.18 |
[최종 프로젝트] 중간 정리 (2) | 2023.02.12 |
내일배움캠프 최종 프로젝트 (0) | 2023.02.07 |