javascript/๐ study
[10์ฃผ์ฐจ ์คํฐ๋]44์ฅ-REST API
by HomieKim
2022. 4. 2.
REST API
- REST(
Representation State Transfer
)๋ HTTP๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ๋ฆฌ์์ค์ ์ ๊ทผํ๋ ๋ฐฉ์์ ๊ท์ ํ ์ํคํ
์ฒ
- REST API๋ REST๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋น์ค API๋ฅผ ๊ตฌํํ๊ฒ์ ์๋ฏธ
- ์ฆ, http๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋คํธ์ํฌ ์์์ ์์์ ์ํ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ REST๋ผ๊ณ ํ๋ค.
- REST์ ๊ธฐ๋ณธ์์น์ ์ฑ์คํ ์งํจ ์๋น์ค ๋์์ธ์ RESTful ์ด๋ผ๊ณ ํํ.
REST API์ ๊ตฌ์ฑ
- REST API๋ 3๊ฐ์ง ์์๋ก ๊ตฌ์ฑ
- REST๋ ์์ฒด ํํ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ ๋์ด, REST API ๋ง์ผ๋ก HTTP ์์ฒญ์ ๋ด์ฉ์ ์ดํดํ ์ ์๋ค.
๊ตฌ์ฑ ์์ |
๋ด์ฉ |
ํํ ๋ฐฉ๋ฒ |
์์(resource ) |
์์ |
URL(์๋ํฌ์ธํธ) |
ํ์(verb ) |
์์์ ๋ํ ํ์ |
HTTP ์์ฒญ ๋ฉ์๋ |
ํํ(representations ) |
์์์ ๋ํ ๊ตฌ์ฒด์ ํ์์ ๊ตฌ์ฒด์ ๋ด์ฉ |
ํ์ด๋ก๋ |
REST API ์ค๊ณ ์์น
- ๊ฐ์ฅ ์ค์ํ ์์น 2๊ฐ์ง
- URI๋ ๋ฆฌ์์ค๋ฅผ ํํํด์ผ ํ๋ค.
- ๋ฆฌ์์ค๋ฅผ ์๋ณํ ์ ์๋ ์ด๋ฆ์ ๋์ฌ๋ณด๋ค๋ ๋ช
์ฌ๋ฅผ ์ฌ์ฉ ํ๋ค.
# bad
GET /getTodos/1
GET /todos/show/1
# good
GET /todos/1
- ๋ฆฌ์์ค์ ๋ํ ํ์๋ HTTP ์์ฒญ ๋ฉ์๋๋ก ํํ ํ๋ค.
- HTTP ์์ฒญ์ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ ์์ฒญ์ ์ข
๋ฅ์ ๋ชฉ์ ์ ์๋ฆฌ๋ ๋ฐฉ๋ฒ
- ์ฃผ๋ก 5๊ฐ์ง ์์ฒญ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ CRUD๋ฅผ ๊ตฌํํ๋ค.
- ์ฆ, ๋ฆฌ์์ค์ ๋ํ ํ์๋ ๋ฉ์๋๋ก ํํํ๋ฉฐ URI์ ํํํ์ง ์๋๋ค.
๋๊ธ