REST
REST ์๋ฏธ
Representational State Transfer์ ์ฝ์
์์์ URI๋ก ๊ตฌ๋ถํ์ฌ ํด๋น ์์์ ์ํ(์ ๋ณด)๋ฅผ ์ฃผ๊ณ ๋ฐ๊ฑฐ๋ ์กฐ์ํ๋ ๊ฒ
HTTP/HTTPS ํ๋กํ ์ฝ์ ๊ธฐ๋ฐ์ผ๋ก ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์ ํต์ ์ ์ฌ์ฉ๋๋ ์ํคํ ์ฒ ์คํ์ผ
HTTP๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๊ธฐ์ ์น์ ์ฅ์ ์ ์ด๋ฆด ์ ์์
REST ๊ตฌ์ฑ
์์(Resource)
URI : ๋ชจ๋ ์์์ ๊ณ ์ ํ ID๊ฐ ์กด์ฌํ๊ณ , ์ด ์์์ server์ ์กด์ฌํจ
HTTP์ route(๊ฒฝ๋ก)๊ฐ ์ด์ ํด๋นํจ
ํ์(Verb)
์์์ ์ํ(์ ๋ณด)์ ๋ํ ์์ฒญ ๋ฐ ์กฐ์
HTTP์ Method๊ฐ ์ด์ ํด๋นํจ
Create : ์์ฑ (POST)
Read : ์กฐํ (GET)
Update : ์์ (PUT)
Delete : ์ญ์ (DELETE)
ํํ(Representation of Resourc)
ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ด๋ ๋ฐ์ดํฐ(์๋ต ๋ฉ์์ง์ body์ ๋ด๊น)
HTTP Response Message ํค๋์ Content-Type์ผ๋ก ์ค์ ํด์ค - JSON, XML, TEXT, RSS ๋ฑ
JSON ํน์ XML๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ฉฐ, body์ content-type์ ๋ง๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋
REST API
REST์ ๊ท์น์ ๋ฐ๋ผ ์๋น์ค API๋ฅผ ๊ตฌํํ ๊ฒ
์ต๊ทผ์๋ OpenAPI๊ฐ REST API๋ก ์ ๊ณตํ๋ ์ถ์ธ
HTTP ํ์ค์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํํ๋ฏ๋ก, HTTP๋ฅผ ์ง์ํ๋ ๋ชจ๋ ํ๊ฒฝ์์ ์ฌ์ฉํ ์ ์์
๋ค์ํ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์ํตํ ์ ์๊ณ , ํ์ฅ์ฑ๊ณผ ์ฌ์ฌ์ฉ์ฑ์ ๋์ผ ์ ์์
๋ฌด์ํ(stateless)์ ํน์ง์ ๊ฐ์ง (์๋ฒ๋ ํด๋ผ์ด์ธํธ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง ์์)
ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์น์ฌ์ดํธ๋ฅผ ๋ฐฉ๋ฌธํ๊ธฐ ์ํด ๋ธ๋ผ์ฐ์ ์ ์ ๋ ฅํ๋ URL๊ณผ ์ ์ฌํจ
์๋ฒ์ ์๋ต์ HTTP๋ก ์๋ตํ์ง๋ง, ๊ทธ๋ํฝ ๋ ๋๋ง์ด ์๋ ์ผ๋ฐ ๋ฐ์ดํฐ์ (HTML๋ฑ ์ด ์๋๋ผ JSON ๋ฑ)
RESTful
REST ์๋ฆฌ๋ฅผ ๋ฐ๋ฅด๋ ์์คํ ์ RESTful์ด๋ผ๊ณ ํจ
REST API๋ฅผ ์ ๊ณตํ๋ ์น์๋น์ค๋ฅผ RESTfulํ๋ค๊ณ ํํํจ
RESTful์ REST๋ฅผ REST๋ต๊ฒ ์๊ฒฉํ๊ฒ ์ฐ๊ธฐ์ํ ๋ฐฉ๋ฒ์ ์๋ฏธํ๊ธฐ๋ ํจ
REST ๋ฐฉ์์ด ๊ณต์์ ์ธ ๊ฒ์ ์๋. ๋ฒ์ ์๋์ง๋ง ์ฌํ์ ๊ท๋ฒ์ด๋ผ๊ณ ๋ณด๋ฉด ๋ ๋ฏ
์ฐธ๊ณ ๋ฌธํ
Last updated