๐บ API๋? ๐บ
๐บ ํ๋ฌธ์ฅ ์์ฝ: ์์ฉํ๋ก๊ทธ๋จ์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ๋ฐฉ๋ฒ. ๐บ
๐น API๋ Application Programing Interface์ ์ฝ์
![](https://velog.velcdn.com/images%2Fmajaeh43%2Fpost%2F2a78863f-639d-4daa-86ee-f6f63e875a63%2Fimage.png)
๐น API๋ ์๋(ํ๋ก๊ทธ๋จ)์ด ์ฃผ๋ฌธํ ์ ์๊ฒ ๋ฉ๋ด(๋ช
๋ น ๋ชฉ๋ก)๋ฅผ ์ ๋ฆฌํ๊ณ , ์ฃผ๋ฌธ(๋ช
๋ น)์ ๋ฐ์ผ๋ฉด ์๋ฆฌ์ฌ(์์ฉํ๋ก๊ทธ๋จ)์ ์ํธ์์ฉํ์ฌ ์์ฒญ๋ ๋ฉ๋ด(๋ช
๋ น์ ๋ํ ๊ฐ)๋ฅผ ์ ๋ฌํ๋ค.
๐น ์ด์์ฒด์ ๋ ์์คํ
, ์ ํ๋ฆฌ์ผ์ด์
, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ์ ํ์ฉํด ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ฑํ ์ ์๊ฒ ํ๋ ๋ค์ํ `์ธํฐํ์ด์ค`๋ฅผ ์๋ฏธํจ. ex. Window API, Java API, HTML5 API, Android API ๋ฑ.
๐น `์ธํฐํ์ด์ค`๋ ๋ง ๊ทธ๋๋ก ์ด๋ค ๊ธฐ๊ณ๊ฐ์ ์ฅ์น๋ผ๋ฆฌ ์ ๋ณด๋ฅผ ๊ตํํ๊ธฐ ์ํ ์๋จ์ด๋, ๋ฐฉ๋ฒ์ ์๋ฏธํจ. ์๋ฅผ ๋ค์ด, ์ฐ๋ฆฌ๊ฐ ์ง์์ TV๋ฅผ ์ผ๊ธฐ ์ํด์ ๋ฆฌ๋ชจ์ฝ์ ๋ค๊ณ TV์ ๋ฆฌ๋ชจ์ฝ ์ ์ ๋ฒํผ์ ๋๋ฆ์ผ๋ก์จ TV๊ฐ ์ผ์ง๊ฒ๋๋ค. ์ฆ, ์ฌ์ ์ TV์ ํต์ ์ ํ๊ธฐ ์ํด์ ๋ฆฌ๋ชจ์ฝ์์๋ TV์ ์ ์๋ ๊ท๊ฒฉ์ ์ํด ์ด๋ค ์ ํธ๋ฅผ ๋ณด๋ผ ์ ์๋๋ก ๋ง๋ค์ด์ง ์ฅ์น์ด๋ฉฐ, ์ด๋ฌํ ์ ํธ๋ฅผ ์๋ก ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ์ธํฐํ์ด์ค๋ผ๊ณ ํ๋๊ฒ.
๐น API์ ์ญํ
1. API๋ ์๋ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ถ์
๊ตฌ ์ญํ **
๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ์์คํ ์ ๋ณด๋ค์ด ์ ์ฅ๋๋ค. API๋ ๋ชจ๋ ์ด๋ค์ด ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ ์ ์๋๋ก ์๋ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ถ์
๊ตฌ ์ญํ ์ ํ๋ฉฐ, `ํ์ฉ๋ ์ฌ๋๋ค์๊ฒ๋ง ์ ๊ทผ์ฑ์ ๋ถ์ฌ`ํด์ค.
2. API๋ ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ๊ธฐ๊ธฐ๊ฐ ์ํํ๊ฒ ํต์ ํ ์ ์๋๋ก ํจ**
์ฌ๊ธฐ์ ์ ํ๋ฆฌ์ผ์ด์
์ด๋ ์ฐ๋ฆฌ๊ฐ ํํ ์๊ณ ์๋ ์ค๋งํธํฐ ์ดํ์ด๋ ํ๋ก๊ทธ๋จ์ ๋งํ๋ค. API๋ `์ ํ๋ฆฌ์ผ์ด์
๊ณผ ๊ธฐ๊ธฐ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ํํ ์ฃผ๊ณ ๋ฐ์ ์ ์๋๋ก ๋๋ ์ญํ `์ ํจ.
3. API๋ ๋ชจ๋ ์ ์์ ํ์คํํ๋ค.
API๋ ๋ชจ๋ ์ ์์ ํ์คํํ๊ธฐ ๋๋ฌธ์ ๊ธฐ๊ณ/ ์ด์์ฒด์ ๋ฑ ์๊ด์์ด ๋๊ตฌ๋ ๋์ผํ ์ก์ธ์ค๋ฅผ ์ป์ ์ ์๋ค. ์ฝ๊ฒ ๋งํด, API๋ `๋ฒ์ฉ ํ๋ฌ๊ทธ์ฒ๋ผ ์๋`ํ๋ค๊ณ ๋ณผ ์ ์์!
๐น API ์ข
๋ฅ(์ ํ)
1) private API**: private API๋ ๋ด๋ถ API๋ก, ํ์ฌ ๊ฐ๋ฐ์๊ฐ ์์ฒด ์ ํ๊ณผ ์๋น์ค๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ๋ด๋ถ์ ์ผ๋ก ๋ฐํ. ๋ฐ๋ผ์ ์ 3์์๊ฒ ๋
ธ์ถ๋์ง ์์.
2) public API**: public API๋ ๊ฐ๋ฐฉํ API๋ก, ๋ชจ๋์๊ฒ ๊ณต๊ฐ. ๋๊ตฌ๋ ์ ํ ์์ด API๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒ ํน์ง.
3) partner API**:partner API๋ ๊ธฐ์
์ด ๋ฐ์ดํฐ ๊ณต์ ์ ๋์ํ๋ ํน์ ์ธ๋ค๋ง ์ฌ์ฉ ๊ฐ๋ฅ. ๋น์ฆ๋์ค ๊ด๊ณ์์ ์ฌ์ฉ๋๋ ํธ์ด๋ฉฐ, ์ข
์ข
ํํธ๋ ํ์ฌ ๊ฐ์ ์ํํธ์จ์ด๋ฅผ ํตํฉํ๊ธฐ ์ํด ์ฌ์ฉ๋จ.
๐น API ์์
1. ๋ค์ด๋ฒ ์ง๋ API๋ฅผ ์ด์ฉํด ๋ด ์ผํ๋ชฐ์ ์ฝ๋๋ฅผ ๋ฃ๋๋ค.
2. ๊ธฐ์์ฒญ ๋ ์จ API๋ฅผ ์ด์ฉํด ๋ด ์ผํ๋ชฐ์ ๋ ์จ๋ฅผ ๋ฃ๊ณ ์ถ๋ค.
3. ๋ค์ด๋ฒ ๊ฐ๊ฒฉ๋น๊ต API๋ฅผ ์ด์ฉํด ๋ด ์ผํ๋ชฐ์ ๊ฐ๊ฒฉ๋น๊ต ์ ๋ณด๋ฅผ ๋ฃ๊ณ ์ถ๋ค.
4. ํ๋ถ์ด๋ ํธ์ํฐ ๊ฐ์ ์์
์ฌ์ดํธ์ ์ฝํ
์ธ ๋ฅผ ๊ณต์ ํ๊ณ ์ถ๋ค.
5. ๊ตฌ๊ธ ์น๋ก๊ทธ๋ถ์ API๋ฅผ ์ด์ฉํด ์ผํ๋ชฐ ๊ด๋ฆฌ์์ ๋์๋ณด๋๋ฅผ ๋ฃ๊ณ ์ถ๋ค.
๐น ๊ทธ๋ผ API ์ฐ๋ฉด ์ข์์ ์ด ๋ฌด์์ผ๊น?
๐ค Private API๋ฅผ ์ด์ฉํ ๊ฒฝ์ฐ, ๊ฐ๋ฐ์๋ค์ด ์ ํ๋ฆฌ์ผ์ด์
์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ํ์คํํจ์ผ๋ก์จ, `๊ฐ์ํ๋๊ณ ๋น ๋ฅธ ํ๋ก์ธ์ค ์ฒ๋ฆฌ๋ฅผ ๊ฐ๋ฅ`ํ๊ฒ ํจ. ๋ํ, ์ํํธ ์จ์ด๋ฅผ ํตํฉํ๊ณ ์ ํ ๋๋ ๊ฐ๋ฐ์๋ค ๊ฐ์ `ํ์
์ ์ฉ์ด`ํ๊ฒ ๋ง๋ค์ด์ค ์ ์์!
๐ค Public API์ Partner API ๋ฅผ ์ฌ์ฉํ๋ฉด, ๊ธฐ์
์ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ `๋ธ๋๋ ์ธ์ง๋`๋ฅผ ๋์ผ ์ ์์ ๋ฟ๋ง ์๋๋ผ ๊ณ ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ์ฅํ์ฌ `์ ํ์จ๊น์ง ๋์ผ ์ ์์`.
๐ค ํ์ด์ค๋ถ, ๋ค์ด๋ฒ, ์นด์นด์คํก๊ณผ ๊ฐ์ ๋ํ ํ๋ซํผ์์๋ ๋๋ถ๋ถ ๊ฐํธ ๋ก๊ทธ์ธ API ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ณ ์์. ๋๊ตฌ๋ ์ฌ์ฉํ๊ณ ์๋ ๋ํ ํ๋ซํผ์ ๊ฐ์
์ ๋ณด๋ฅผ ๊ณต์ ํจ์ผ๋ก์จ ๊ฐํธํ๊ฒ ํ์๊ฐ์
์ ํ ์ ์๋๋ก ์ค๊ณ๋ API.
๐ค ๋ง์ฝ ์นด์นด์คํก ๊ฐํธ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ํตํด ์ฌ๋ฌ ์ฌ์ดํธ๋ฅผ ๊ฐ์
ํ๋ค๊ณ ๊ฐ์ . ํน์๋ ์นด์นด์คํก์ ํํดํ๋ ์๊ฐ ์นด์นด์คํก์ ํตํด ๊ฐ์
ํ๋ ์ ๋ง์ ์ฌ์ดํธ ๋ํ ํฌ๊ธฐํด์ผ๋๋ ์ํฉ์ด ๋ฐ์ํ๊ฒ ๋จ.
๐ค ์ฆ, ๊ฐํธ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ์ ๊ณตํจ์ผ๋ก์จ ํ๋ซํผ ์ดํ์จ์ ํ์ ํ ์ค์ผ ์ ์๊ธฐ ๋๋ฌธ์ ๋ํ ํ๋ซํผ๋ค์ ๊ฐํธ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ์ ๊ณตํจ. ๊ณต์ ๊ฒฝ์ ์๋๊ฐ ํ๋ฅด๋ฉด์ ์ ๋ณด๋ฅผ ๋
์ ํ๋๊ฒ๋ณด๋ค ๊ณต์ ํจ์ผ๋ก์จ ๋ ๋ง์ ์ด์ต์ ๊ฐ์ ธ๊ฐ ์ ์๋ ์ํ๊ณ๊ฐ ๋ง๋ค์ด์ง๊ณ ์์ผ๋ฉฐ, ์ด๋ฌํ ๊ณผ์ ์์ ๋ค์ํ ์คํ API์, ๋น๊ณต๊ฐ API๋ค์ด ์กด์ฌํ๋๊ฒ.