Web APIs์ ๊ธฐ๋ณธ
๋๋ถ๋ถ REST์ ํน์ง์ http ํ๋กํ ์ฝ๊ณผ ํ์คํ๋ ๋ฐฉ์๋ง ์ ๋ฐ๋ผ๊ฐ๋ฉด, ์์์ ๋ฐ๋ผ์ค๋ ์ด์ ์ด ์๊ณ , hypermedia ํน์ง์ ์ํคํ ์ฒ๋ฅผ ์์ฑํ๊ธฐ๊ฐ ์ด๋ ต๊ณ ๊ทธ๋ ๊ฒ ํ๋ ๊ณณ์ ๋ง์ง ์๋ค.
web API๋ฅผ ๋์์ธํ ๋๋ ์๋ฒ์ ์๋ ํน์ ํ ๋ฐ์ดํฐ๋ฅผ ํด๋ผ์ด์ธํธ๊ฐ ์ฝ๊ฑฐ๋ ๋ง๋ค๊ฑฐ๋ ์ ๋ฐ์ดํธํ๊ฑฐ๋ ์ญ์ ํ๋ ๊ธฐ๋ณธ์ ์ธ ๋์์ ์ง์ํด์ฃผ๋ฉด ๋๋ค. (CRUD)
์ด๋ฅผ HTTP ๋ฉ์๋์ ๋น์ ํด๋ณด๋ฉด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค

์ฃผ์ํ ์ฌํญ
- API ์ด๋ฆ์๋ ์ก์
(๋ฉ์๋)์ ๋ํ ๋ด์ฉ์ ์๋ตํด์ผํ๋ค.
- GET /posts/getPosts (๐ซ)
- GET /posts (โ )
- url ์ด๋ฆ๊ณผ ์ก์
(๋ฉ์๋)๊ฐ ํด๋ฆฌ์ด ํด์ผํ๋ค.
- GET /posts/createPost (GET ๋ฉ์๋์ง๋ง, ํฌ์คํ ์ ์์ฑํจ / ๋ฉ์๋์ ๋ํ ์ ๋ณด๊ฐ url์ ์กด์ฌ)(๐ซ)
- POST /posts (โ )
- PUT /posts/1 (์์ด๋ 1๋ฒ ๋ฆฌ์์ค ์ ๋ฐ์ดํธ)(โ )
- DELETE /posts/1 (1๋ฒ ๋ฆฌ์์ค ์ญ์ )(โ )
- ์์ฒญํ๋ ๊ถ๊ทน์ ์ผ๋ก ๊ฐ์ ธ์ค๋ ค๊ณ ํ๋ ๊ฒ์ ๋ช
ํํด์ผํ๋ค.
- GET /posts/1/tags (๐ซ)
- GET /tags/?postId=1 (โ )
- GET /tags/?query=cool (โ )
Youtube ์ API ์ฐธ๊ณ
https://developers.google.com/youtube/v3/docs/videos/list
Youtube API๋ฅผ ํ์ธํ๋ฉด, ๋ชจ๋ ์ฌ์ฉ๊ฐ๋ฅํ Hypermedia ๋งํฌ๊ฐ api ์๋ต์ ๋ค์ด๊ฐ์์ง์์ ๊ฒ์ ํ์ธํ ์ ์๋ค. REST ํน์ง ์ค Hypermedia ๋ฃฐ์ ๋ฐ๋ฅด์ง ์๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
REST API์ ์์น์ ์ถฉ์คํ ๋ฐ๋ฅด๋ Github API
https://developer.github.com/v3/

์ฌ์ฉ๊ฐ๋ฅํ ๋ชจ๋ url์ ๋ํ ์ ๋ณด๋ฅผ ์๋ต๊ฐ์ผ๋ก ์ ๋ฌํด์ค๋ค. (REST Hypermedia ๋ฃฐ)