๋ชฉ์ฐจ
- API๋ผ๋ ๋จ์ด, ์ด๋์ ๋ง์ด ๋ค์ด๋ดค๋๋ฐ?
- API์ ์ ํํ ์ ์
- ์ผ์ ์ API – ์ค์ํ ๋น์ ๋ก ์ดํดํ๊ธฐ
- API๊ฐ ์ค์ ๋ก ์ฌ์ฉ๋๋ ์ฌ๋ก
- API์ ์ข ๋ฅ
- API ์์ด๋ ์ด๋ค ์ผ์ด ์๊ธธ๊น?
- ์ ๋ฆฌ ๋ฐ ๋ค์ ๋จ๊ณ
1. API๋ผ๋ ๋จ์ด, ์ด๋์ ๋ง์ด ๋ค์ด๋ดค๋๋ฐ?
๋ด์ค๋ IT ๊ด๋ จ ๊ธ์ ์ฝ๋ค ๋ณด๋ฉด "API๋ฅผ ์ฐ๋ํ๋ค", "API ํค๋ฅผ ๋ฐ๊ธ๋ฐ์์ผ ํ๋ค", "API ์์ฒญ ํ๋๋ฅผ ์ด๊ณผํ๋ค"๋ ํํ์ ์์ฃผ ์ ํ๊ฒ ๋ฉ๋๋ค. ๊ฐ๋ฐ์๋ค ์ฌ์ด์์๋ ๋๋ฌด๋ ๋น์ฐํ๊ฒ ์ฐ์ด๋ ๋จ์ด์ง๋ง, ์ฒ์ ์ ํ๋ ๋ถ๋ค์๊ฒ๋ ๋ง์ฐํ๊ฒ ๋๊ปด์ง ์ ์์ต๋๋ค.
์ด ๊ธ์์๋ ๊ธฐ์ ์ ์ธ ์ค๋ช ์ ์ต๋ํ ์ค์ด๊ณ , ์ผ์์ ์ธ ๋น์ ๋ฅผ ํตํด API๊ฐ ๋ฌด์์ธ์ง ์ฝ๊ฒ ์ค๋ช ๋๋ฆฝ๋๋ค.
2. API์ ์ ํํ ์ ์
**API(Application Programming Interface)**๋ ์๋ก ๋ค๋ฅธ ์ํํธ์จ์ด๊ฐ ์๋ก ์ํตํ ์ ์๋๋ก ์ ํด๋์ ๊ท์น๊ณผ ๋ฐฉ๋ฒ์ ์งํฉ์ ๋๋ค.
ํ์ด์ ์ค๋ช ํ๋ฉด, ์ด๋ค ์๋น์ค๊ฐ ์์ ์ ๊ธฐ๋ฅ์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ธ๋ถ์์ ์ฌ์ฉํ ์ ์๋๋ก ๊ณต๊ฐํ ์ฐฝ๊ตฌ๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ์ด ์ฐฝ๊ตฌ๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ํด๋น ์๋น์ค์ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ๋ชฐ๋ผ๋ ํ์ํ ๊ธฐ๋ฅ์ ๊ฐ์ ธ๋ค ์ธ ์ ์์ต๋๋ค.
3. ์ผ์ ์ API – ์ค์ํ ๋น์ ๋ก ์ดํดํ๊ธฐ
API๋ฅผ ์ดํดํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ์๋น์ ์ฃผ๋ฌธ ์์คํ ์ผ๋ก ๋น์ ํ๋ ๊ฒ์ ๋๋ค.
์๋(ํด๋ผ์ด์ธํธ)์ ์ฃผ๋ฐฉ(์๋ฒ) ์์ด ์ด๋ป๊ฒ ๋์๊ฐ๋์ง ์ ํ์๊ฐ ์์ต๋๋ค. ์๋์ ๋ฉ๋ดํ์์ ์ํ๋ ์์์ ๊ณ ๋ฅด๊ณ , **์จ์ดํฐ(API)**์๊ฒ ์ฃผ๋ฌธํฉ๋๋ค. ์จ์ดํฐ๋ ์ฃผ๋ฐฉ์ ์ฃผ๋ฌธ์ ์ ๋ฌํ๊ณ , ์์ฑ๋ ์์์ ์๋์๊ฒ ๊ฐ์ ธ๋ค์ค๋๋ค.
์ด ๋น์ ์์ ๊ฐ ์ญํ ์ ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
| ์๋ | ์ฑ ๋๋ ๊ฐ๋ฐ์ |
| ์จ์ดํฐ | API |
| ์ฃผ๋ฐฉ | ์๋ฒ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค |
| ๋ฉ๋ดํ | API ๋ฌธ์(Documentation) |
| ์์ | ์์ฒญํ ๋ฐ์ดํฐ ๋๋ ๊ธฐ๋ฅ |
์๋์ ์ฃผ๋ฐฉ ๋ ์ํผ๋ฅผ ๋ชฐ๋ผ๋ ์์์ ๋จน์ ์ ์๋ฏ, ๊ฐ๋ฐ์๋ ์๋๋ฐฉ ์๋ฒ์ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ๋ชฐ๋ผ๋ API๋ฅผ ํตํด ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
4. API๊ฐ ์ค์ ๋ก ์ฌ์ฉ๋๋ ์ฌ๋ก
์ฌ๋ก 1. ์นด์นด์ค๋งต API ๋ฐฐ๋ฌ ์ฑ์์ ์ง๋๋ฅผ ๋ณด์ฌ์ค ๋, ๊ทธ ์ฑ์ด ์ง๋๋ฅผ ์ง์ ๋ง๋ ๊ฒ์ด ์๋๋๋ค. ์นด์นด์ค๋งต API๋ฅผ ์ฌ์ฉํด ์นด์นด์ค์ ์ง๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ ๋๋ค. ์นด์นด์ค๊ฐ ๋ง๋ค์ด ๊ณต๊ฐํ ์ฐฝ๊ตฌ(API)๋ฅผ ํตํด ๋ค๋ฅธ ์ฑ๋ค์ด ์ง๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
์ฌ๋ก 2. ๋ ์จ ์ฑ ์ค๋งํธํฐ ๋ ์จ ์ฑ์ ์ง์ ๊ธฐ์ ๋ฐ์ดํฐ๋ฅผ ์์งํ์ง ์์ต๋๋ค. ๊ธฐ์์ฒญ์ด๋ ๋ ์จ ๋ฐ์ดํฐ ์ ๊ณต ์๋น์ค์ API๋ฅผ ํธ์ถํด ํ์ฌ ๋ ์จ ์ ๋ณด๋ฅผ ๋ฐ์์ต๋๋ค.
์ฌ๋ก 3. ์์ ๋ก๊ทธ์ธ "๊ตฌ๊ธ ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ", "์นด์นด์ค ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ" ๋ฒํผ์ ํด๋ฆญํ๋ฉด ๊ตฌ๊ธ·์นด์นด์ค์ API๋ฅผ ํตํด ์ธ์ฆ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ต๋๋ค. ์๋น์ค๊ฐ ๊ตฌ๊ธ ์๋ฒ์ ์ง์ ์ ๊ทผํ๋ ๊ฒ์ด ์๋๋ผ, ์ ํด์ง API ๊ท์น์ ๋ฐ๋ผ ์ธ์ฆ ์์ฒญ์ ๋ณด๋ด๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ฌ๋ก 4. ๊ฒฐ์ ์์คํ ์ผํ๋ชฐ์์ ์นด๋ ๊ฒฐ์ ๋ฅผ ํ ๋ ์ผํ๋ชฐ์ด ์ง์ ์นด๋์ฌ์ ํต์ ํ๋ ๊ฒ์ด ์๋๋๋ค. ํ ์ค, ์์ํฌํธ ๊ฐ์ ๊ฒฐ์ ๋ํ์ฌ์ API๋ฅผ ํตํด ๊ฒฐ์ ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
5. API์ ์ข ๋ฅ
API๋ ์ฌ์ฉ ๋ฐฉ์๊ณผ ์ ๊ทผ ๋ฒ์์ ๋ฐ๋ผ ์ฌ๋ฌ ์ข ๋ฅ๋ก ๋๋ฉ๋๋ค.
๊ณต๊ฐ API (Open API / Public API) ๋๊ตฌ๋ ์ฌ์ฉํ ์ ์๋๋ก ๊ณต๊ฐ๋ API์ ๋๋ค. ์นด์นด์ค๋งต API, ๊ณต๊ณต๋ฐ์ดํฐํฌํธ์ ๋ ์จ API, YouTube Data API ๋ฑ์ด ํด๋น๋ฉ๋๋ค. ๋๋ถ๋ถ API ํค๋ฅผ ๋ฐ๊ธ๋ฐ์ ์ฌ์ฉํฉ๋๋ค.
๋น๊ณต๊ฐ API (Private API) ํ์ฌ ๋ด๋ถ์์๋ง ์ฌ์ฉํ๋ API์ ๋๋ค. ํ๋ก ํธ์๋ ์ฑ๊ณผ ๋ฐฑ์๋ ์๋ฒ๊ฐ ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฌ์ฉํ๋ API๊ฐ ๋ํ์ ์ ๋๋ค.
ํํธ๋ API (Partner API) ํน์ ํํธ๋์ฌ์๊ฒ๋ง ์ ๊ณตํ๋ API์ ๋๋ค. ์๋ฅผ ๋ค์ด ํน์ ํ๋ซํผ๊ณผ ๊ณ์ฝ์ ๋งบ์ ์ ์ฒด์๊ฒ๋ง ์ ๊ณตํ๋ ๋ฐฐ์ก ์ถ์ API ๊ฐ์ ๊ฒ๋ค์ด ํด๋น๋ฉ๋๋ค.
6. API ์์ด๋ ์ด๋ค ์ผ์ด ์๊ธธ๊น?
API๊ฐ ์๋ค๋ฉด ๋ชจ๋ ์๋น์ค๊ฐ ํ์ํ ๊ธฐ๋ฅ์ ์ฒ์๋ถํฐ ์ง์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์ง๋ ๊ธฐ๋ฅ์ด ํ์ํ๋ฉด ์ง์ ์ง๋๋ฅผ ๋ง๋ค๊ณ , ๊ฒฐ์ ๊ธฐ๋ฅ์ด ํ์ํ๋ฉด ์ง์ ์นด๋์ฌ์ ๊ณ์ฝํ๊ณ , ๋ ์จ ์ ๋ณด๊ฐ ํ์ํ๋ฉด ์ง์ ๊ธฐ์ ๊ด์ธก ์ฅ๋น๋ฅผ ์ค์นํด์ผ ํ๋ ์์ ๋๋ค.
API ๋๋ถ์ ๊ฐ๋ฐ์๋ค์ ์ด๋ฏธ ์ ๋ง๋ค์ด์ง ๊ธฐ๋ฅ์ ๊ฐ์ ธ๋ค ์ฐ๊ณ , ์์ ์ ์๋น์ค๋ง์ ํต์ฌ ๊ธฐ๋ฅ์ ์ง์คํ ์ ์์ต๋๋ค. ํ๋์ ์ธํฐ๋ท ์๋น์ค๋ ์๋ง์ API๊ฐ ์๋ก ์ฐ๊ฒฐ๋์ด ๋์ํ๋ ์ํ๊ณ๋ผ๊ณ ํ ์ ์์ต๋๋ค.
7. ์ ๋ฆฌ ๋ฐ ๋ค์ ๋จ๊ณ
์ค๋ ๋ฐฐ์ด ํต์ฌ์ ์ ๋ฆฌํฉ๋๋ค.
- API๋ ์๋ก ๋ค๋ฅธ ์ํํธ์จ์ด๊ฐ ์ํตํ ์ ์๋๋ก ์ ํด๋์ ๊ท์น๊ณผ ์ฐฝ๊ตฌ์ ๋๋ค.
- ์๋น์ ์จ์ดํฐ์ฒ๋ผ, API๋ ์์ฒญ์ ์ ๋ฌํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค์ฃผ๋ ์ค๊ฐ ์ญํ ์ ํฉ๋๋ค.
- ์นด์นด์ค๋งต, ๋ ์จ ๋ฐ์ดํฐ, ์์ ๋ก๊ทธ์ธ, ๊ฒฐ์ ์์คํ ๋ฑ ์ผ์ ์ ์๋น์ค ๋๋ถ๋ถ์ด API๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์ํฉ๋๋ค.
- API ๋๋ถ์ ๊ฐ๋ฐ์๋ ํ์ํ ๊ธฐ๋ฅ์ ์ฒ์๋ถํฐ ๋ง๋ค ํ์ ์์ด ๊ฐ์ ธ๋ค ์ธ ์ ์์ต๋๋ค.
๋ค์ ๊ธ์์๋ REST API๋ ๋ฌด์์ธ์ง, GET·POST·PUT·DELETE๊ฐ ๊ฐ๊ฐ ์ด๋ค ์ญํ ์ ํ๋์ง ์์๋ณด๊ฒ ์ต๋๋ค.