๐ฃ ์ด์ ํด๊ฒฐ ๊ธฐ๋ก2 [Spring MVC] DTO๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌ๋ฐ์ ๋๋ @RequestBody๋ฅผ ๊ผญ ์ ์ฉํ์! ๊ฐ์ ์ด๋ฒ์๋ ๋ฉํ ๋ง ํ๋ก์ ํธ ๊ฐ๋ฐ์ ํ๋ฉฐ ๋ง์ฃผ์น ์ด์์ ๋๋ค. ์ด๋ฒ์๋ ์คํ๋ง ํ๋ก์ ํธ๋ฅผ ์ฌ๋ฌ ๋ฒ ํ๋ฉด์ ๋ณ๋ก ๊ฒช์ง ์์์์ง๋ง, ํ๋ก์ ํธ๋ฅผ ์ค๋๋ง์ ํ๋ค ๋ณด๋ ์ ํ๊ฒ ๋ ์ค์์ ๊ฐ๊น์ ์ต๋๋ค. ๊ทธ๋ผ์๋ ๋ค์ ๊ฐ์ ์ค์๋ฅผ ํ์ง ์๊ธฐ ์ํด ๊ณต์ ํด๋ณด๋ ค ํฉ๋๋ค! ๋ฌธ์ ์ํฉ ์ด์ฉ๋ฉด ์์ ์๋ฐ๋ก ๊ฐ๋ฐํ๋ค๊ฐ ์คํ๋ง์ผ๋ก ๋์ด๊ฐ ๋ ํ ๋ฒ์ฏค์ ์ ํ์ จ์ ์ค์์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐ์ด ๋ญ๋๋ค. ๊ธ (Board) ์ฐ๊ธฐ ์ฝ๋๋ฅผ ์์ฑํ๋ฉฐ, ๊ธ ์์ฑ์ ์ฌ์ฉ๋๋ ์์ฒญ dto๋ ์๋์ฒ๋ผ ๋ ์ฝ๋๋ก ์์ฑํ์์ต๋๋ค. (์๋ต dto๋ ์ฌ๊ธฐ์ id๋ ์ถ๊ฐํ์ต๋๋ค.) public record BoardCreateRequest(String title, String content) { } ๊ทธ๋ฆฌ๊ณ ์์ฑ ์ฝ๋๋ ์๋์ฒ๋ผ ์์ฑํ์์ต๋๋ค. @PostMapping.. 2024. 1. 19. [Spring Data JPA] ์คํ๋ง ๋ฐ์ดํฐ JPA ๊ตฌํ์ฒด๋ฅผ ์์ฑํ ๋ ์ฃผ์ํ ์ ! (feat. ์ํ ์ฐธ์กฐ) ๋ฌธ์ ๋ฐ์ ์ ํ๊ต ์ ๋ฐฐ ๋ถ๊ป ์ข์ ๊ธฐํ๋ก ์คํ๋ง์ ๋ํด ๋ฉํ ๋ง์ ๋ฐ์ ์ ์๊ฒ ๋์ด, ๋ฉํ ๋ง ๊ณผ์ ๋ก ๊ฐ๋จํ ๊ฒ์ํ๋ถํฐ ๋ง๋ค์ด๋ณด๊ณ ์์์ต๋๋ค.๋ฌธ์ ๋ฐ์๊ฒ์๊ธ (Board)์ ๋ํ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑํ๋ ๋์ค, ์ํ ์ฐธ์กฐ ์ด์๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ ๋ ๊ฒ์๊ธ์ ๊ด๋ จ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ตฌํ์ฒด๋ค์ ์ฌ๋ฌ ๊ฐ๋ก ๋๊ณ ์ถ์ด, ์์ ํ ์ถ์ํ๋ ์ธํฐํ์ด์ค์ธ BoardRepository๋ฅผ ๋ง๋ค๊ณ , ์คํ๋ง ๋ฐ์ดํฐ JPA ์ธํฐํ์ด์ค๋ก BoardJpaRepository๋ฅผ ๋ง๋ค์์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์คํ๋ง ๋ฐ์ดํฐ ํ๊ฒฝ์์ BoardRepository๋ฅผ ๊ตฌํํ๋ BoardJpaRepositoryImpl์ ๋ง๋ค์์ต๋๋ค. ์ฆ, ์ฝ๋๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. public interface BoardRepository { Long save(fin.. 2024. 1. 19. ์ด์ 1 ๋ค์