REST API
๐REST API
API๋
API๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ฆฌ์์ค๋ฅผ ์์ฒญํ ์ ์๋๋ก ์๋ฒ์ธก์์ ์ ๊ณต๋ ์ธํฐํ์ด์ค(interface)๋ฅผ ๋งํ๋ค.
REST API
REST ๊ธฐ๋ฐ์ผ๋ก ์๋น์ค API๋ฅผ ๊ตฌํํ๋ ๊ฒ
REST API๋ HTTP ์์ฒญ์ ํตํด ํต์ ํ์ฌ ๋ฐ์ดํฐ ์์ฑ, ์ฝ๊ธฐ, ์ ๋ฐ์ดํธ ๋ฐ ์ญ์ ๊ธฐ๋ฅ์ ์๋ฃํฉ๋๋ค. CRUD ์์ ์ด๋ผ๊ณ ๋ ํฉ๋๋ค. REST๋ ์์ฒญ๋ ๋ฆฌ์์ค์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ณ ๋ฆฌ์์ค๋ก ์ํํ ์์ ์ ์ค๋ช ํ๋ ๋ค ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
POST โ ๋ฆฌ์์ค ์์ฑ
GET โ ๋ฆฌ์์ค ๊ฐ์ ธ์ค๊ธฐ
PUT โ ๋ฆฌ์์ค ์ ๋ฐ์ดํธ
DELETE โ ๋ฆฌ์์ค๋ฅผ ์ญ์ ํฉ๋๋ค.
๊ท์น
1) URI๋ ์ ๋ณด์ ์์์ ํํํด์ผ ํ๋ค. (๋ฆฌ์์ค๋ช ์ ๋์ฌ๋ณด๋ค๋ ๋ช ์ฌ๋ฅผ ์ฌ์ฉ) ๋ช ์ฌ๋ ๋ณต์ํ GET /members/delete/1 (x) ์์ ๊ฐ์ ๋ฐฉ์์ REST๋ฅผ ์ ๋๋ก ์ ์ฉํ์ง ์์ URI์ ๋๋ค. URI๋ ์์์ ํํํ๋๋ฐ ์ค์ ์ ๋์ด์ผ ํฉ๋๋ค. delete์ ๊ฐ์ ํ์์ ๋ํ ํํ์ด ๋ค์ด๊ฐ์๋ ์๋ฉ๋๋ค.
2) ์์์ ๋ํ ํ์๋ HTTP Method(GET, POST, PUT, DELETE ๋ฑ)๋ก ํํ ์์ ์๋ชป ๋ URI๋ฅผ HTTP Method๋ฅผ ํตํด ์์ ํด ๋ณด๋ฉด
DELETE /members/1 ์ผ๋ก ์์ ํ ์ ์๊ฒ ์ต๋๋ค. ํ์์ ๋ณด๋ฅผ ๊ฐ์ ธ์ฌ ๋๋ GET, ํ์ ์ถ๊ฐ ์์ ํ์๋ฅผ ํํํ๊ณ ์ ํ ๋๋ POST METHOD๋ฅผ ์ฌ์ฉํ์ฌ ํํํฉ๋๋ค.
ํ์์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ URI
GET /members/show/1 (x)
GET /members/1 (o) ํ์์ ์ถ๊ฐํ ๋
GET /members/insert/2 (x) - GET ๋ฉ์๋๋ ๋ฆฌ์์ค ์์ฑ์ ๋ง์ง ์์ต๋๋ค.
POST /members/2 (o)
RESTFUL์ด๋ REST์ ์๋ฆฌ๋ฅผ ๋ฐ๋ฅด๋ ์์คํ ์ ์๋ฏธํฉ๋๋ค. ํ์ง๋ง REST๋ฅผ ์ฌ์ฉํ๋ค ํ์ฌ ๋ชจ๋๊ฐ RESTful ํ ๊ฒ์ ์๋๋๋ค. REST API์ ์ค๊ณ ๊ท์น์ ์ฌ๋ฐ๋ฅด๊ฒ ์งํจ ์์คํ ์ RESTfulํ๋ค ๋งํ ์ ์์ผ๋ฉฐ
๋ชจ๋ CRUD ๊ธฐ๋ฅ์ POST๋ก ์ฒ๋ฆฌ ํ๋ API ํน์ URI ๊ท์น์ ์ฌ๋ฐ๋ฅด๊ฒ ์งํค์ง ์์ API๋ REST API์ ์ค๊ณ ๊ท์น์ ์ฌ๋ฐ๋ฅด๊ฒ ์งํค์ง ๋ชปํ ์์คํ ์ REST API๋ฅผ ์ฌ์ฉํ์์ง๋ง RESTful ํ์ง ๋ชปํ ์์คํ ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค