-
API, REST API, RESTful API์ ๋ํด์Back-end 2023. 12. 18. 13:52๋ฐ์ํ
๋ค์ด๊ฐ๊ธฐ
REST API ์ ์, ํน์ง, ์ฅ์ ๊ณผ ๋จ์ , ์ฌ์ฉ ๊ท์น์ ๋ํด์ ์์๋ณด์. REST API๋ฅผ ์ค๋ช ํ๊ธฐ ์์ API์ ๋ํด์ ๋จผ์ ์์๋ณธ๋ค.
API
API๋ Application Programming Interface์ ์ถ์ฝํ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉํ ์ ์๋๋ก ์ด์ ์ฒด์ ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ์ ์ดํ ์ ์๊ฒ ๋ง๋ ์ธํฐํ์ด์ค๋ฅผ ๋งํ๋ค.
\ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์๋ฒ์ ์ ๋ฌํ๊ณ , ์๋ฒ์ ๊ฒฐ๊ณผ๋ฌผ์ ํด๋ผ์ด์ธํธ์๊ฒ ๋๋ ค์ฃผ๋ ์ญํ ์ ํ๋ค.
REST, REST API, RESTful API
REST๋ Representational State Transfer์ ์ถ์ฝํ์ผ๋ก ์์์ ์ด๋ฆ์ผ๋ก ๊ตฌ๋ถํด ์์์ ์ํ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ ๋งํ๋ค. REST์ ํน์ง์ผ๋ก๋ ์ธํฐํ์ด์ค ์ผ๊ด์ฑ, ๋ฌด์ํ, ์บ์ ์ฒ๋ฆฌ ๊ฐ๋ฅ, ๊ณ์ธตํ, ํด๋ผ์ด์ธํธ/์๋ฒ ๊ตฌ์กฐ, Code on demand(์ ํ์ฌํญ)์ด ์๋ค.
REST API๋ REST์ ํน์ง์ ์ด์ฉํ API๋ก URL์ ์ค๊ณ ๋ฐฉ์์ ๋งํ๋ค. ์ฅ์ ์ผ๋ก๋ URL๋ง์ผ๋ก ์ด๋ค ํ๋์ ํ๋ API์ธ์ง ๋ช ํํ๊ฒ ์ ์ ์๊ณ , ๋ฌด์ํ์ด๋ฏ๋ก ํด๋ผ์ด์ธํธ์ ์๋ฒ์ ์ญํ ์ด ๋ช ํํ๊ฒ ๋ถ๋ฆฌ๋๋ค.
RESTful API๋ RESTํ๊ฒ ๋์์ธํ API๋ฅผ ๋งํ๋ค.
์ฌ์ฉ ๊ท์น
- URL์๋ ๋์ฌ๋ฅผ ์ฐ์ง ๋ง๊ณ , ์์์ ํ์ํ๋ค.
/articles/1 : ์ฌ๋ฐ๋ฅธ ์ฌ์ฉ
/articles/show/1 : ์ฌ๋ฐ๋ฅด์ง ์์ ์ฌ์ฉ. 'show'๋ผ๋ ๋์ฌ ์ฌ์ฉ. - ๋์ฌ๋ HTTP ๋ฉ์๋๋ก ์ฌ์ฉํ๋ค.
HTTP ๋ฉ์๋ : GET, POST, PUT, PATCH, DELETE ๋ฑ
GET /articles/1
POST /articles
PUT /articles/1
DELETE /articles/1 - ์ฌ๋์(/)๋ ๊ณ์ธต ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ๋ฐ ์ฌ์ฉํ๋ค.
- ์ธ๋๋ฐ(_) ๋์ ์ ํ์ดํ(-)์ ์ฌ์ฉํ๋ค.
- URL์๋ ์๋ฌธ์ ์๋จ์ด๋ง ์ฌ์ฉํ๋ค.
๋ฐ์ํ - URL์๋ ๋์ฌ๋ฅผ ์ฐ์ง ๋ง๊ณ , ์์์ ํ์ํ๋ค.