
API
- Applicaion Programming Interface
- Interface : ๊ธฐ๊ณ์ ์ธ๊ฐ๊ฐ์ ์ํต ์ฐฝ๊ตฌ
- ์ํํธ์จ์ด์ ์ํํธ์จ์ด ๊ฐ ์ง์ ๋ ํ์์ผ๋ก ์์ฒญ, ๋ช
๋ น์ ๋ฐ์ ์ ์๋ ์๋จ
- ์ ๋ณด๋ค์ด ์ฃผ๊ณ ๋ฐ์์ง๋ ๋ฐ ์์ด์ ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ๋๋ฆฌ ์ฐ์ด๋ ์ผ์ข
์ ํ์
RESTful API
- API ์์คํ
์ ๊ตฌํํ๊ธฐ ์ํ ์ํคํ
์ฒ ์ค์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํ์
- Graphql, GRPC, REST ... etc
Representational State Transfer
- ์น ์์์ ์ฌ์ฉ๋๋ ์ฌ๋ฌ ๋ฆฌ์์ค๋ฅผ HTTP URI๋ก ํํํ๊ณ ๊ทธ ๋ฆฌ์์ค์ ๋ํ ํ์๋ฅผ HTTP Method๋ก ์ ์ํ๋ ๋ฐฉ์.
RESTful API์ ์ฅ๋จ์
์ฅ์
- API ์์ฒด๋ง์ผ๋ก๋ API ์ ๋ชฉ์ ์ด ์ฝ๊ฒ ์ดํด ๋๋ค.
- GET/users/1
- 1๋ฒ ์ ์ ํธ์ถ
๋จ์
- ํ์ค๊ท์ฝ์ด ์์ด ๋นํจ์จ์ ์ด๊ฑฐ๋ ๋น์์ฐ์ ์ธ ํจํด์ผ๋ก ์์ฑ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
๊ธฐ๋ณธ ๋ฐฐ๊ฒฝ ์ง์
- URI (Uniform Resource Identifier)
- HTTP Method
- HTTP request๊ฐ ์๋ํ๋ action์ ์ ์ํ ๊ฒ
- Payload
- HTTP request์์ server๋ก ๋ณด๋ด๋ ๋ฐ์ดํฐ (body)
์ค๊ณ ๊ท์น
- URI์ / ๊ตฌ๋ถ์๋ฅผ ์ฌ์ฉํด ์์์ ๊ณ์ธต ๊ด๊ณ๋ฅผ ๋ํ๋ธ๋ค.
- URI๊ฐ ๊ธธ์ด์ง๋ ๊ฒฝ์ฐ
-
๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋
์ฑ์ ๋์ธ๋ค.
_
๋ ์ฌ์ฉํ์ง ์๋๋ค. ( ๊ฐ๋
์ฑ์ ์ํ์ฌ)
- URI ๊ฒฝ๋ก์๋ ๋๋ฌธ์ ์ฌ์ฉ์ ํผํ๋๋ก ๊ท์
- ๋์ฌ ๊ธ์ง, ๋ช
์ฌ ์ฌ์ฉ