๐๋ค๋ก๊ฐ๊ธฐ
HATEOAS(Hypertext As The Engine Of Application State)๋ REST ์ํคํ
์ฒ ์์น ์ค ํ๋๋ก, ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์ํธ ์์ฉํ๊ธฐ ์ํด ํ์ํ ์ ๋ณด๋ฅผ ํ์ดํผ๋ฏธ๋์ด์ ํจ๊ป ์ ๊ณตํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด ์์น์ ๋ฐ๋ฅด๋ฉด, ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์๋ต์ ํฌํจ๋ ํ์ดํผ๋ฏธ๋์ด ๋งํฌ์ ๋์์ ํตํด ๊ฐ๋ฅํ ์ํ ์ ์ด๋ฅผ ์ ์ ์๊ณ , ์ด๋ฅผ ํตํด ์ํ๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ถ๊ฐ ์์
์ ์ํํ ์ ์๋ค.
HATEOAS์ ์ฃผ์ ์ด์ ์ ๋ค์๊ณผ ๊ฐ๋๋ค.
- ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถค
ํด๋ผ์ด์ธํธ๊ฐ ํ์ดํผ๋ฏธ๋์ด๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์
์ํ๋ฅผ ๊ด๋ฆฌํ๋ฏ๋ก, ์๋ฒ์ ๋ณ๊ฒฝ ์ฌํญ์ด ํด๋ผ์ด์ธํธ์ ๋ฏธ์น๋ ์ํฅ์ด ์ค์ด๋ ๋ค. ์ด๋ฅผ ํตํด ์์คํ
์ ์ ์ฐ์ฑ์ด ์ฆ๊ฐํ๊ณ , ๋ณ๊ฒฝ์ ๋ ์ ๋์ํ ์ ์๋ค.
- ํด๋ผ์ด์ธํธ์๊ฒ ๋์ ์ธ API ์ ๊ณต
HATEOAS๋ฅผ ์ฌ์ฉํ๋ฉด, ์๋ฒ๋ ํด๋ผ์ด์ธํธ์๊ฒ ํ์ฌ ์ํฉ์ ๋ฐ๋ผ ๊ฐ๋ฅํ ์์
์ ์ ๊ณตํ ์ ์๋ค. ์ด๋ฅผ ํตํด ํด๋ผ์ด์ธํธ๋ ์ ์ ํ ์์
์ ์ ํํ์ฌ ์์คํ
์ ๋ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
- API์ ํ์ ๊ฐ๋ฅ์ฑ๊ณผ ์
ํ ๋ฌธ์ํ
ํ์ดํผ๋ฏธ๋์ด๋ฅผ ์ฌ์ฉํ๋ฉด, ํด๋ผ์ด์ธํธ๋ API๋ฅผ ํ์ํ๋ฉด์ ๊ฐ๋ฅํ ์์
๋ฐ ์ํ ์ ์ด๋ฅผ ์๋์ผ๋ก ๋ฐ๊ฒฌํ ์ ์๋ค. ์ด๋ API ์ฌ์ฉ์์๊ฒ ์
ํ ๋ฌธ์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ, ๋ณ๋์ ๋ฌธ์ํ ์์
์ ์ค์ผ ์ ์๋ค.
๊ทธ๋ฌ๋ HATEOAS๋ ๊ตฌํ ๋ณต์ก์ฑ์ด ์ฆ๊ฐํ๊ณ , ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ํต์ ๋น์ฉ์ด ๋์ด๋๋ ๋จ์ ์ด ์๋ค. ๋ฐ๋ผ์ HATEOAS๋ฅผ ๋์
ํ ๋๋ ์ด๋ฌํ ์ด์ ๊ณผ ๋จ์ ์ ๊ณ ๋ คํ์ฌ ์ ์ ํ ์ ํ์ ํด์ผ ๋ค.