RestAPI
API์ ์ ์
Application Programming Interface์ ์ฝ์๋ก, ์ฑ์ด ์๋ฒ์๊ฒ ์ ๋ณด๋ฅผ ์์ฒญํ๋ ํ์์ด๋ค.
์ฆ S/W๊ฐ ๋ค๋ฅธ S/W์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ธฐ์ํ ์๋จ์ด๋ค.
๋คํธ์ํฌ ๋ฟ๋ง ์๋๋ผ ๋ก์ปฌ ํ๋ก๊ทธ๋จ์์๋ ์กด์ฌํ๋ค. (๋ธ๋ผ์ฐ์ ์ webAPI)
RestAPI์ ์ ์
SOAP์ ๋ณต์กํ ํ์์ ๊ฐ์ ํ๊ธฐ ์ํด rest๋ ํ์์ ์์ฒญ ํผ์ด๋ค.
์์ฒญ์ ํํ๋ง ๋ณด๊ณ , ์ด๋ค ๋์์ธ์ง ์ด๋ค ์ ๋ณด๋ฅผ ์ํ ๊ฒ์ธ์ง ์ถ๋ก ์ด ๊ฐ๋ฅํ๋ค.
restfulํ API๋ ์ฃผ์๋ง ๋ณด๊ณ ๋, ์ด๋ค ์์ฒญ์ธ์ง ํ์ ์ด ๊ฐ๋ฅํ๋ฏ๋ก ๊ฐ๋ฐ์๊ฐ ํ์ ์ ์ข์ ์ญํ ์ ํ๋ค.
HTTP ๊ท์ฝ์ ๋ฐ๋ผ ์ ํธ๋ฅผ ์ ์กํ๊ฒ ๋๋ค.
GET, DELETE, POST, PUT, PATCH๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค.
POST, PUT, PATCH์ ๊ฒฝ์ฐ ๊ฐ๊ฐ Body๊ฐ ์กด์ฌํด์ ๋น๊ต์ ์ผ๋ก ์ ๋ณด๋ฅผ ๊ฐ์ถฐ์ ์ ์กํ ์ ์๋ค.
๊ธฐ๋ฅ์ด ํน์ ์ฉ๋์ ์ ํ๋์ด์์ง๋ ์์ง๋ง Restfulํ๊ฒ API๋ฅผ ๋ง๋ค๊ธฐ ์ํด์๋ ๋ชฉ์ ์ ๋ฐ๋ผ ๊ตฌ๋ถํด์ ์ฌ์ฉํด์ผํ๋ค.
์ ํธ
GET : ์กฐํ
POST : ์์ฑ, Body์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ ๋ณด๋ธ๋ค. (๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ํ ์ธ๋ฑ์ค๊ฐ ์์ฑ๋๋ฏ๋ก, ์ธ๋ฑ์ค๋ ์ ์ธํ์ง ์๋๋ค.)
PUT, PATCH: ์ ๋ฐ์ดํธ, ์ ๋ฐ์ดํธํ ์ธ๋ฑ์ค ๋ฒํธ๋ฅผ ์ฝ์ ํ๋ค. BODY์ ์๋ก์ด ์ ๋ณด๋ฅผ ๋ฃ๋๋ค.
PUT : ์ ์ฒด ์ ๋ณด๋ฅผ ์ ๋ฐ์ดํธ ํ๋ค.
PATCH : ํน์ ์ ๋ณด๋ฅผ ์ ๋ฐ์ดํธํ๋ค.
๊ฐ์ ์ญํ ์ด๋ฉฐ, ๊ทธ๋ฃน์์ ๊ฒฐ์ ํด์ ์ฌ์ฉํ๋ค.
DELETE : ์ญ์ , ํน์ ์ธ๋ฑ์ค ์ ๋ณด๋ฅผ ์ญ์ ํ๋ค.
โํ์โ์ด๊ธฐ ๋๋ฌธ์ ํน์ ๊ธฐ์ ์ด๋ ํ๋ ์์ํฌ์ ๊ตฌ์ ๋ฐ์ง ์๋๋ค.
HTTP๋ก ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค๋ฉด, restfulํ ์๋น์ค๋ฅผ ๋ง๋ค ์ ์๋ค. (
restful api design guidelines
๋ฅผ ๊ณต๋ถํด๋ณด์)
์ฉ๋์ ๋ฐ๋ผ GraphicQL์ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค.
Last updated