Model Mapper
์ฝ๊ฒ ๊ฐ์ฒด์ ํ๋ ๊ฐ์ ๋ค๋ฅธ ํด๋์ค(๊ฐ์ฒด)๋ก ๋ณต์ฌ(mapping)์ ํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
Entity๋ฅผ ํตํด DB์์ ๋ฐ์์จ ๊ฐ ์ค ์์ฒญ์ ๋๊ฒจ์ฃผ๊ธฐ ์ซ์ ํ๋ผ๋ฏธํฐ๋ผ๋์ง, ์์ฒญ์ ํ๋ผ๋ฏธํฐ ์ค Entity๋ก ๋๊ฒจ์ฃผ์ง ์์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๊ฑฐํ๊ณ ๋๊ฒจ์ฃผ๊ธฐ ์ํด JackSon Json ์ด๋ ธํ ์ด์ ๋ด๋ถ์์ ์ ๊ณตํ๋ ๋ฉ์๋๋ก ํน์ ํ๋กํผํฐ๋ฅผ ์ ๊ฑฐํ์ฌ ๋ณด๋ด์ค ์ ์๊ณ , DTO๋ฅผ ๋ฐ๋ก ๋ง๋ค์ด DTO๊ฐ์ฒด๋ก convert ์ํจ ํ์ ๋๊ฒจ ์ค ์๋ ์๋ค.
๊ทธ๋ฐ๋ฐ ์ด๋, DTO๋ฅผ ๋ง๋ค์ด ๋ณด๋ด๋ ค๊ณ ํ๋ค๋ฉด, ํ๋ผ๋ฏธํฐ๋ฅผ ์ผ์ผํ ๋ณต์ฌ ํด์ค์ผ ํ๋ ๋ ธ๊ฐ๋ค๊ฐ ๋ฐ์์ ํ๊ฒ ๋์ด ์ด๋ฅผ mapํจ์๋ฅผ ํตํด ์์ฝ๊ฒ ๋งตํ ์ํฌ ์ ์๊ฒ ํด์ค๋ค.
์ฌ์ฉ๋ฒ
์์กด์ฑ ์ถ๊ฐ
maven์ด๋ gradle์ ์์กด์ฑ์ ์ถ๊ฐํด์ค๋ค.
@bean์ผ๋ก ModelMapper์ ๋ง๋ค์ด ์ค์ ํ๋ค
Controller์์ ์์กด์ฑ์ ์ฃผ์ ๋ฐ์ modelMapper๋ฅผ ์ฌ์ฉํ๋ค.
๋จ์
๋ฆฌํ๋ ์ ์ด ๋ฐ์ํด ์ง์ ๋งคํํ๋ ๊ฒ๋ณด๋จ ๋๋ ค์ง ์ ์๋ค.
๋ฆฌํ๋ ์ ๊ตฌ์ฒด์ ์ธ ํด๋์ค ํ์ ์ ์์ง ๋ชปํด๋, ๊ทธ ํด๋์ค์ ๋ฉ์๋/ํ์ /๋ณ์๋ค์ ์ ๊ทผ ํ ์ ์๋๋ก ํด์ฃผ๋ ์๋ฐ API
๋ํ์ ์ผ๋ก DI,Proxy,ModelMapper,Hibernate,JackSon์์ ์ฌ์ฉํ๋ค. ์ปดํ์ผํ ํด๋์ค ์ ๋ณด๋ฅผ ํ์ฉํด ๋์ ์ผ๋ก ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅํ๋๋ก ์ง์ํ๋ API
Last updated