๐ป ํ๋ก์ ํธ15 [ ํธ๋ฌ๋ธ ์ํ ] ์๋ จ CRUD ๊ธฐ๋ฐ์ ํ ์คํธ, ๊ฐ์ ๊ณผ์ ๊ณผ์ ํธ๋ฌ๋ธ ์ํ ๋ฌธ์ ์ํฉFilter์์ ๋ฐ์ํ๋ ์์ธ๋ฅผ GlobalExceptionHandler๋ฅผ ์ด์ฉํด์ ํด๊ฒฐํ๋ ค๊ณ ํ์ง๋ง, Postman์ ์คํํ์ ๋ 500 Internal Error๊ฐ ๋ฐ์ํ๋ค.๋ฌธ์ ์์ธ@RestControllerAdvice๋ Filter์์ ๋ฐ์ํ ์์ธ๋ฅผ ์ฒ๋ฆฌํ์ง ์๋๋ค.Filter๋ Controller๋ก ์์ฒญ์ด ์ ๋ฌ๋๊ธฐ ์ ์ ์คํ๋๊ธฐ ๋๋ฌธ์, @RestController๋ก ์ฒ๋ฆฌํ ์ ์๋ ์์ญ์ด๋ค.์ด๋ก ์ธํด ์์ธ๋ฅผ ์ฒ๋ฆฌํ์ง ๋ชปํ๊ณ 500 Internal Error๊ฐ ๋ฐํ๋์๋ค.ํด๊ฒฐ ๋ฐฉ๋ฒFilter ๋ด์์ ์ง์ HTTP ์ํ ์ฝ๋์ ์๋ฌ ๋ฉ์์ง๋ฅผ ์ค์ ํด์ ์๋ตํ๋๋ก ์์ ํ๋ค.์์ ๋ ์ฝ๋if (session == null || session.getAttribute("loginM.. 2025. 1. 6. ๋ด์ค ํผ๋ ํ๋ก์ ํธ_๊ฐ์ธ KPT ํ๊ณ ๋ด์ค ํผ๋ ํ๋ก์ ํธ Keep: ์ด๋ฒ ํ๋ก์ ํธ์์ ์ ์งํ์ผ๋ฉด ํ๋ ๋ถ๋ถ์ฒด๊ณ์ ์ธ ํ๋ก์ ํธ ์งํ๋ด ์ญ๋์ ์ ํํ ํ์ ํ๊ณ ๋ฌด๋ฆฌํ์ง ์๋ ๋ฒ์ ๋ด์์ ํ๋ก์ ํธ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ์งํํ๋ค.์๊ฒฌ ๊ฒฝ์ฒญ๊ณผ ํ๋ ฅ์ ์ธ ๋ถ์๊ธฐํ์๋ค์ ์๊ฒฌ์ ์ ๊ทน์ ์ผ๋ก ๊ฒฝ์ฒญํ๋ฉด์ ํ์ ์ ์์ด ๊ธ์ ์ ์ธ ๋ถ์๊ธฐ๋ฅผ ๋ง๋ค์๋ค.์ง๋ฌธ์ ๋ํ ์น์ ํ ๋ต๋ณํ์์ด ๋ชจ๋ฅด๋ ์ ์ ๋ฌผ์ด๋ดค์ ๋, ์๋ ๋ฒ์ ๋ด์์ ์์ธํ ์ค๋ช ํ๋ฉด์ ์ง์์ ๊ณต์ ํ๊ณ ์ ๋ฆฌํ ์ ์์๋ค.์ฑ ์๊ฐ์ ๊ฐ์ง๊ณ ๋งก์ ์ญํ ์์๋ด๊ฐ ๋งก์ ํํธ๋ฅผ ์๋ฒฝํ๊ฒ ๋ง๋ฌด๋ฆฌํด ํ๋ก์ ํธ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๋ง๋ฌด๋ฆฌํ ์ ์์๋ค. Problem: ๊ฐ์ ์ด ํ์ํ ๋ถ๋ถ์๊ฒฌ ์ ๋ฌ ๋ถ์กฑ๋ฌธ์ ์ : ๋ด ์๊ฒฌ์ ํ์๋ค์๊ฒ ๋ช ํํ๊ฒ ์ ๋ฌํ์ง ๋ชปํ๋ค.ํด๊ฒฐ ๋ฐฉ์:์๊ฒฌ์ ์ ์ ๋ฆฌํด์ ์ ๋ฌํ๋ ์ฐ์ต์ ๊พธ์คํ ํ๊ณ , ํ์ํ ๊ฒฝ์ฐ์๋ ๊ฐ๋จํ ๋ฌธ์๋ ์๋ฃ.. 2024. 12. 29. ๋ด์ค ํผ๋ ํ๋ก์ ํธ_ํ KPT ํ๊ณ ๋ด์ค ํผ๋ ํ๋ก์ ํธ Keep: ์ด๋ฒ ๊ณผ์ ์์ ์ ์งํ์ผ๋ฉด ํ๋ ๋ถ๋ถ์ ๋ฌด ๋ถ๋ดํ์ ๊ฐ์ ์ญ๋์ ํ์ ํ ๋ค, ๋ฌด๋ฆฌํ์ง ์๋ ์ ์์ ์ฑ์ฅํ ์ ์๋๋ก ์ ๋ฌด๋ฅผ ๋ถ๋ดํ๋ค.๊ฐ ํ์์ด ์์ ์ ์ญํ ์์ ์ฑ์ฅํ๋ฉฐ ํ๋ก์ ํธ ์์ฑ์ ๊ธฐ์ฌํ ์ ์์๋ค.์์ฌ์ํต๊ณผ ์ฝ๋ ๋ฆฌ๋ทฐํ๋ฉด ๊ณต์ ์ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํตํด ๊ฐ์ ๋งก์ ๊ธฐ๋ฅ ๊ตฌํ์ ๋ํด ์ํตํ๋ฉฐ ์๋ก์ด ๊ธฐ์ ์ ๋ฐฐ์ธ ์ ์์๋ค.์๋ก์ ์ฝ๋๋ฅผ ๋ณด๋ฉด์ ๊ตฌํ ์๋๋ฅผ ์ดํดํ๊ณ ์๊ฒฌ์ ๊ตํํ๋ ๊ณผ์ ์ด ๋์์ด ๋ง์ด ๋์๋ค.์ค๊ณ ๋จ๊ณ์ ์ค์์ฑ์ด๊ธฐ ์ค๊ณ ๋จ๊ณ์์ ์์๋๋ ๋ฌธ์ ๋ฅผ ๋ฏธ๋ฆฌ ๊ณ ๋ คํ๊ณ ํ์๋ค๊ณผ์ ํ์๋ฅผ ํตํด ์ํ๋ ๋ฐฉํฅ์ผ๋ก ์ค๊ณ๋ฅผ ์งํํ๋ค.๊ตฌํ ๋จ๊ณ์์์ ์ด๋ ค์์ ์ต์ํํ๊ณ ๋์ ์์ฑ๋๋ฅผ ์ด๋ฃฐ ์ ์์๋ค.์ ๋ณด ๊ณต์ ํ ๋ด์์ ํ์ํ ๊ธฐ์ ์๋ฃ๋ ์ ์ฉํ ํ์ต ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ๋ฉฐ ์๋ก์ ์ง์์ ํ์ฅํ.. 2024. 12. 27. [ ํธ๋ฌ๋ธ ์ํ ]์ผ์ ๊ด๋ฆฌ ์ฑ Develop_ํธ๋ฌ๋ธ ์ํ ๊ณผ์ ํธ๋ฌ๋ธ ์ํ ๋ฌธ์ ์ํฉ์ผ์ ์์ฑ API๋ฅผ ์์ฑํ๊ณ Postman์ผ๋ก ํ ์คํธํ์ง๋ง 500 Internal Server Error๊ฐ ๋ฐ์ํ๋ค.๋ฌธ์ ์์ธ์ฝ๋์์ @EntityListeners ์ด๋ ธํ ์ด์ ์ด ์๋ชป๋ ํด๋์ค๋ฅผ ์ฐธ์กฐํ๊ณ ์์๋ค.์๋ชป๋ ์ฝ๋@EntityListeners(EntityListener.class)์ด๋ก ์ธํด EntityListener๊ฐ ์ ๋๋ก ๋์ํ์ง ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.ํด๊ฒฐ ๋ฐฉ๋ฒ@EntityListeners ์ด๋ ธํ ์ด์ ์ ์ฌ๋ฐ๋ฅธ ํด๋์ค์ธ AuditingEntityListener๋ก ์์ ํ๋ค.์์ ๋ ์ฝ๋@EntityListeners(AuditingEntityListener.class)์์ ํ Postman์ผ๋ก ๋ค์ ์์ฒญ์ ๋ณด๋๊ณ , ์ ์์ ์ผ๋ก ์ผ์ ์ด ์์ฑ๋์๋ค.๊ฒฐ๋ก ์ฝ๋๋ฅผ ์์ฑํ ๋ ์ด๋ ธํ ์ด.. 2024. 12. 19. ์ผ์ ๊ด๋ฆฌ ์ฑ ๋ง๋ค๊ธฐ ๊ณผ์ _KPT ํ๊ณ ์ผ์ ๊ด๋ฆฌ ์ฑ ๋ง๋ค๊ธฐ ๊ณผ์ Keep : ์ด๋ฒ ๊ณผ์ ์์ ์ ์งํ์ผ๋ฉด ํ๋ ๋ถ๋ถ์๊ตฌ์ฌํญ ๊ผผ๊ผผํ๊ฒ ์ดํผ๊ธฐ๊ณผ์ ๋ฅผ ์งํํ๋ฉด์ ์๊ตฌ์ฌํญ์ ์ฒ ์ ํ๊ฒ ๋ถ์ํ๊ณ , ์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ค.๊ณผ์ ์ ์งํ ์ฌํญ์ ๊พธ์คํ ๊ธฐ๋กํ๊ธฐNotion์ ํ์ฉํด์ ๊ณผ์ ์งํ ์ํฉ, ๊ณ ๋ฏผํ๋ ๋ถ๋ถ, ํธ๋ฌ๋ธ ์ํ ์ฌ๋ก ๋ฑ์ ์ ๋ฆฌํ๋ฉด์ ์งํํ๋ค.๊ธฐ๋ก์ด ์ถํ ๋ณต์ต๊ณผ ํ์ต์ ๋์์ด ๋ ๊ฒ ๊ฐ๋ค.์ด๋ ค์ด ๋ถ๋ถ์๋ ์ผ๋จ ๋์ ํ๊ธฐ์์ง Spring์ ๊ธฐ๋ณธ ๊ฐ๋ ์ด ์๋ฒฝํ๊ฒ ์กํ์ง ์์์ง๋ง, ๊ณผ์ ๋ฅผ ์งํํ๋ฉด์ ์ค์ตํ๊ณ ์ดํด๋๋ฅผ ๋์ผ ์ ์์๋ค.์ง์ ๋ถ๋ชํ๋ฉด์ ํ์ตํ๋ ๊ณผ์ ์ด ํจ๊ณผ์ ์ด์๋ค.๊ฐ์ ์ค์ต ์ฝ๋ ์ ๊ทน ํ์ฉํ๊ธฐ๊ฐ์ ์ค์ต ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ๋ฉด์ ๊ณผ์ ๋ฅผ ์งํํ๋ค.๋จ์ํ Ctrl+C, Ctrl+V๋ฅผ ํ์ง ์์๊ณ ์ง์ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด์ ์ฝ๋์ ํ๋ฆ๊ณผ ๊ตฌ์กฐ๋ฅผ ์ดํดํ.. 2024. 12. 10. [ ํธ๋ฌ๋ธ ์ํ ]์ผ์ ๊ด๋ฆฌ ์ฑ ๊ณผ์ _ํธ๋ฌ๋ธ ์ํ ๊ณผ์ ํธ๋ฌ๋ธ ์ํ ๋ฌธ์ ์ํฉIntelliJ์์ ์ฝ๋๋ฅผ ์์ฑํ๋ ์ค, import๋ฅผ ์ํํ ๋ ์ฝ๋์ ๋งจ ์๋ก ์ถ๊ฐ๋์ง ์๊ณ ์์ฑ ์ค์ธ ํด๋น ์ค์ import๋ฌธ์ด ์ถ๊ฐ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.๋ฌธ์ ์์ธ๋ฌธ์ ์ ์ ํํ ์์ธ์ ํ์ ํ์ง ๋ชปํ๋ค.ํ์ง๋ง import ์๋ ์ IntelliJ ์ฐ์ธก ํ๋จ์ IDE Error ๋ฉ์์ง๊ฐ ์ง์์ ์ผ๋ก ๋ํ๋ ๊ฒ์ ๋ณด์ IntelliJ ์์ฒด์ ๋ฌธ์ ๋ก ํ๋จํ๋ค.์ฌ๋ฌ ํ๋ฌ๊ทธ์ธ์ ์ค์นํ๋ ๊ณผ์ ์์ ์ค์ ์ด ๊ผฌ์๊ฑฐ๋ ์๋ชป๋ ๋ณ๊ฒฝ์ด ์ด๋ฃจ์ด์ง ๊ฒ์ผ๋ก ์๊ฐํ๊ณ ์๋ค.ํด๊ฒฐ ๋ฐฉ๋ฒํํฐ๋๊ณผ ํจ๊ป ๋ค์ํ ์๋IntelliJ ์ค์ ๋ณ๊ฒฝ์บ์ ์ญ์ ๊ทธ๋ฌ๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ ์๋ํด๋ ์ฌ์ ์น IDE Error ๋ฉ์์ง๊ฐ ๋ฐ์ํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ๋ชปํ๋ค.์ต์ข ํด๊ฒฐIntelliJ๋ฅผ ์์ ํ ์ญ์ ํ ํ ์ฌ์ค์น ์งํ์ฌ์ค์น ํ ๊ธฐ๋ณธ.. 2024. 12. 10. ์ด์ 1 2 3 ๋ค์