๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Spring

(11)
ArgumentResolver ์ฐ๋จนํ•˜๊ธฐ [์„œ๋ก ]์—์–ด๋น„์•ค๋น„ ํด๋ก  ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ, ๋กœ๊ทธ์ธ ํšŒ์›๋งŒ '์ˆ™์†Œ ๋“ฑ๋ก' ๊ณผ '์ˆ™์†Œ ์˜ˆ์•ฝ' ์„ ํ•  ์ˆ˜ ์žˆ๊ธฐ ์œ„ํ•ด(์ธ๊ฐ€๋ฅผ ์ฃผ๊ธฐ ์œ„ํ•ด) ๋กœ๊ทธ์ธํ•œ ํšŒ์›์„ ๋Œ€์ƒ์œผ๋กœ ์„ธ์…˜์„ ์‚ฌ์šฉํ•ด์„œ stateful ํ•˜๊ฒŒ ๊ตฌํ˜„ ํ–ˆ์Šต๋‹ˆ๋‹ค.@PostMapping("/login") public ApiResponse login(@RequestBody @Valid MemberLoginRequest request, HttpSession httpSession) { memberService.login(request.toServiceRequest()); // ๋กœ๊ทธ์ธ์— ์„ฑ๊ณตํ•˜๋ฉด httpSession.setAttribute(LOGIN_MEMBER, true..
ํ…Œ์ŠคํŠธ๋กœ ์•Œ์•„๋ณด๋Š” ์ปจํŠธ๋กค๋Ÿฌ์—์„œ HttpSession ์ฃผ์ž… ์‹œ ์ฃผ์˜ํ•  ์  Junit5 ๋ฐ Mock ์— ๋Œ€ํ•ด ์„ค๋ช…๋“œ๋ฆฌ์ง€ ์•Š๋Š” ์  ์–‘ํ•ด ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ณด๋‹ค๋Š” ์ปจํŠธ๋กค๋Ÿฌ์—์„œ HttpSession ์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์ฃผ์˜์ ์„ ์•Œ์•„๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๊ฐ€์…จ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค. ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ HttpSession ์„ ์ฃผ์ž…๋ฐ›์•„์„œ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•  ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์™œ ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ HttpSession ๊ณผ HttpServletRequest.getSession() ์˜ ์ฐจ์ด๋ฅผ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋กœ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. โญ HttpSession ๋ฅผ ๋ฉ”์„œ๋“œ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ฆ‰์‹œ ์ฃผ์ž… ๋ฐ›๊ธฐ์ฝ”๋“œ ์„ค๋ช…- ํšŒ์›์ด ์ธ์ฆ ์ฝ”๋“œ๋ฅผ ์ž˜๋ชป ์ž…๋ ฅํ•ด์„œ ์ด๋ฉ”์ผ ๊ฒ€์ฆ์— ์‹คํŒจํ•˜๋ฉด if ๋ฌธ์ด ๊ฑฐ์ง“์ด ๋ฉ๋‹ˆ๋‹ค.- Session ์— ๊ฐ’์„ ์„ค์ •ํ•˜์ง€ ์•Š๊ณ , ๋ฉ”์„œ๋“œ๊ฐ€ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.@GetMapping("/email/authenticat..
[ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…] jakarta.mail.internet.addressexception: local address contains control or whitespace ๊ตฌ๊ธ€๋ง ํ•ด๋„ ๋‚˜์˜ค์ง€ ์•Š๋˜ ์—๋Ÿฌ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์„ ์†Œ๊ฐœํ•˜๋ฉฐ, ์™œ ๋ฐœ์ƒํ•˜๊ณ  ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋Š”์ง€ ์†Œ๊ฐœํ•˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.SMTP ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.์„œ๋ก ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ์—์„œ ํšŒ์›๊ฐ€์ž…ํ•  ๋•Œ, ํšŒ์›์ด ์ž…๋ ฅํ•œ ์ด๋ฉ”์ผ์ด ์ •์ƒ ์ด๋ฉ”์ผ์ธ์ง€ ํ™•์ธํ•˜๊ณ ์ž ์ธ์ฆ๋ฒˆํ˜ธ๋ฅผ ๋ณด๋‚ด๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค.๊ทธ๋ž˜์„œ, ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๋กœ ๋„ค์ด๋ฒ„ ์„œ๋ฒ„์— ๋ฉ”์ผ์„ ๋ณด๋ƒˆ์œผ๋‚˜, `jakarta.mail.internet.addressexception: local address contains control or whitespace` ์—๋Ÿฌ๊ฐ€ javaMailSender.send(message) ์—์„œ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค.public void sendVerificationEmail(String memberEmail) { try { Simpl..