Info
24๋ 5์ ์ด ์์ ๋ด์ฉ์ ๊ฐ๋จํ ์์ฝํ ๊ธ์ ๋๋ค.
Entity์ DTO
Entity๋ ๋จ์ ์๋ฏธ๋ก๋ ๊ด๋ฆฌ๊ฐ ํ์ํ ๋ฐ์ดํฐ์ ์งํฉ์ด์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก DB ๊ด๋ จ ๋ฐ์ดํฐ ํ์์ ์ ์ํ ๋ ์ฌ์ฉํฉ๋๋ค.
DTO(Data Transfer Object)๋ ํ๋ก์ธ์ค ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ ์ฌ์ฉํ๋ ๊ฐ์ฒด๋ฅผ ๋งํฉ๋๋ค.
์ด ๊ธ์์ ์ค์ํ๊ฒ ๋ค๋ฃจ๋ ๊ฐ๋
์ ์๋๊ธฐ ๋๋ฌธ์ ์์ธํ ์ค๋ช
์ ์๋ตํ๋๋ก ํ๊ฒ ์ต๋๋ค.
๋ฌธ์ ์ํฉ
์ ๋ฌด ์ฝ๋์์ Entity๋ TypeORM์ ์ฌ์ฉํด ํ ์ด๋ธ ์ ๋ณด์ ๋์ผํ๊ฒ ์ ์ํ๊ณ , DTO๋ API๋ฅผ ์ํด ๋ณ๋๋ก ์ ์ํด ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
๋ฌธ์ ๋ Entity์์ DTO๋ก ๋ณํํ๊ฑฐ๋ ๊ทธ ๋ฐ๋์ ๊ณผ์ ์ด ํ์ํ๋ฐ, ๊ธฐ์กด ์ฝ๋๋ ๊ฒน์น๋ ์์ฑ์ด ๋ง์์๋ ๋จ์ํ JSON ๊ฐ์ฒด๋ฅผ ์๋ก ์์ฑํ๋ ์์ผ๋ก ์ฒ๋ฆฌํ๊ณ ์์ด ์ฝ๋์ ์๋ ๋ง์์ง๊ณ ๊น๋ํ์ง ์์์ต๋๋ค.
ํด๊ฒฐ ๋ฐฉ์
class-transformer
ํจํค์ง์ plainToClass
ํจ์๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ํจํค์ง ๋ฒ์ ์ด ๋ฎ์์ ์ด๋ ๊ฒ ํด๋ ๋ฌธ์ ๊ฐ ์์๋๋ฐ, ์ต์ ๋ฒ์ ์์๋ plainToInstance
ํจ์๋ฅผ ๋์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
์ด ๋ฐฉ๋ฒ๋ ์์ ํ ๋ฐฉ๋ฒ์ ์๋์ง๋ง ๋ถํ์ํ ์ฝ๋๋ฅผ ๋ง์ด ์ค์ผ ์ ์์๊ณ , ๋ณ๋์ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ ํ์ํ ๊ฐ๋ง ๊ต์ฒดํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๋์ฒ๋ฅผ ํ ์ ์์์ต๋๋ค.
๊ทธ ์ธ์๋ ํ์
์์ ์ฑ์ ๋ณด์ฅํ๋ ๋ฐฉ๋ฒ ๋ฑ ์ฌ๋ฌ ํ์ฉ๋ฒ์ด ์์ต๋๋ค.
๊ณ์ ์ฌ์ฉํ๋ฉด์ ์์ ์ฑ์ ํ๋จํด์ผ ํ ํ์๋ ์์ ๊ฒ ๊ฐ๋ค์.