jwt2 Spring Boot 파일 업로드 (Multipart, 로컬저장, S3) 파일 하나 올리는 데 컨트롤러, 서비스, 유틸, 인터페이스까지 네 군데를 건드려야 한다는 걸 처음 알았을 때 솔직히 당황했습니다. 단순히 @RequestBody를 @RequestPart로 바꾸면 끝나는 줄 알았는데, HTTP 요청 프로토콜 자체가 바뀐다는 사실을 몸으로 겪고 나서야 구조가 눈에 들어왔습니다. 이 글은 그 과정을 순서대로 정리한 기록입니다.Multipart와 @RequestPart — 파일 전송이 왜 달라지는가일반적인 JSON 데이터를 주고받을 때는 Content-Type이 application/json으로 고정됩니다. 그런데 클라이언트가 파일을 함께 보내는 순간, HTTP 요청의 Content-Type이 multipart/form-data로 바뀝니다. 여기서 multipart/form-d.. 2026. 6. 13. Spring Boot 소셜 로그인 (이메일 인증, 카카오, DB 라우팅) 소셜 로그인 구현이 그냥 라이브러리 가져다 쓰면 끝나는 줄 알았습니다. 실제로 해보니 OAuth2 흐름 처리부터 JWT 연동, 이메일 인증, 심지어 DB 서버까지 이원화해야 한다는 걸 뒤늦게 깨달았습니다. 이 글은 Spring Boot 환경에서 이메일 인증과 카카오 소셜 로그인, 그리고 마스터/슬레이브 DB 라우팅까지 한 번에 구성하면서 제가 직접 부딪힌 것들을 정리한 내용입니다.이메일 인증, 생각보다 막히는 구간이 많습니다이메일 인증 기능을 처음 붙였을 때 가장 먼저 막힌 건 메일 서버 설정이었습니다. 직접 메일 서버를 구축하려 했는데, 스팸 차단 정책 때문에 대부분의 발신이 막혀버렸습니다. 결국 Gmail SMTP를 쓰는 방향으로 선회했고, 이 과정에서 앱 비밀번호 발급이 필수라는 걸 알게 됐습니다... 2026. 6. 12. 이전 1 다음