๐ API์ ๋ํด์โฆ
API์ ๋ํด์โฆ
1. API(Application Programming Interface)๋?
API
๋ Application Programming Interface์ ์ฝ์๋ก,
์๋ก ๋ค๋ฅธ ์ํํธ์จ์ด๊ฐ ๊ธฐ๋ฅ์ด๋ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํด ์ฌ์ฉํ๋ โ์ฝ์๋ ๊ท์น(์ธํฐํ์ด์ค)โ์
๋๋ค.
Application
: ๊ณ ์ ํ ๊ธฐ๋ฅ์ ๊ฐ์ง ๋ชจ๋ ์ํํธ์จ์ดInterface
: ๋ค๋ฅธ ์ํํธ์จ์ด ๋๋ ์์คํ ๊ณผ ํต์ ํ๊ฑฐ๋ ์ ์ดํ ์ ์๋ ๋ฐฉ๋ฒ
์๋ฅผ ๋ค์ด,
๋ ์จ ์ฑ์ ๋ง๋ ๋ค๊ณ ํ ๋,
๊ธฐ์์ฒญ์ API๋ฅผ ์ฌ์ฉํ๋ฉด ์ง์ ๋ฐ์ดํฐ๋ฅผ ์์งํ์ง ์์๋ ์ ํด์ง ๋ฐฉ์์ผ๋ก ์์ฒญ๋ง ํ๋ฉด ๋ ์จ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ฌ ์ ์์ต๋๋ค.
ํต์ฌ์ ์ง์ ๊ตฌํํ์ง ์์๋, API๋ฅผ ํตํด ํ์ํ ๊ธฐ๋ฅ์ด๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค๋ ์ ์ ๋๋ค.
2. ์ธํฐํ์ด์ค(Interface)๋?
์ธํฐํ์ด์ค
๋ ๋ ์์คํ
์ด ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์ฐ๊ฒฐ์ ์
๋๋ค.
์๋์ฐจ ๋ธ๋ ์ดํฌ ์์๋ก ์ดํดํ๊ธฐ ๐
-
1. ์ฌ์ฉ์ด ํธ๋ฆฌํจ
์ด์ ์๋ ๋ธ๋ ์ดํฌ์ ์๋ ์๋ฆฌ๋ฅผ ๋ชฐ๋ผ๋, ๋จ์ง ํ๋ฌ์ ๋ฐ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. -
2. ์ ๋ณด ์๋
๋ธ๋ ์ดํฌ๊ฐ ์ค์ ๋ก ์๋ํ๋ ๋ด๋ถ ๊ตฌ์กฐ(๊ธฐ๊ณ์ ์๋)๋ ์ด์ ์๊ฐ ์ ํ์ ์์ด ๊ฐ์ถฐ์ ธ ์์ต๋๋ค.
์ธํฐํ์ด์ค๋ ๊ตฌํ์ ์จ๊ธฐ๊ณ ์ฌ์ฉ๋ง ๊ฐ๋ฅํ๊ฒ ํจ์ผ๋ก์จ ๋ณต์ก์ฑ์ ์ค์ด๊ณ ์์ ์ฑ์ ๋์ ๋๋ค.
3. API์ ์ฃผ์ ํน์ง
ํน์ง | ์ค๋ช |
---|---|
๊ธฐ๋ฅ ์ ๊ณต | ํน์ ๊ธฐ๋ฅ(์: ๋ก๊ทธ์ธ, ๊ฒฐ์ , ๋ ์จ์กฐํ ๋ฑ)์ ์ธ๋ถ์ ์ ๊ณต |
์ ๋ณด ์๋ | ๋ด๋ถ ๋์ ๋ฐฉ์์ ๊ฐ์ถ๊ณ , ํ์ํ ๋ฐ์ดํฐ/๊ธฐ๋ฅ๋ง ๋ ธ์ถ |
ํ์คํ๋ ํต์ | HTTP/HTTPS ๊ธฐ๋ฐ์ ํต์ ๊ท์ฝ ์ฌ์ฉ (REST, GraphQL ๋ฑ) |
๊ฐ๋ฐ ํจ์จ ํฅ์ | ๋ฐ๋ณต ๊ตฌํ ์์ด ์ฌ์ฌ์ฉ ๊ฐ๋ฅ, ๋น ๋ฅธ ๊ฐ๋ฐ ๊ฐ๋ฅ |
4. UI์ UX์ ๊ฐ๋
4-1. UI (User Interface)
UI
๋ ์ฌ์ฉ์๊ฐ ์๊ฐ์ ์ผ๋ก ๋ง์ฃผํ๊ฒ ๋๋ ์ธํฐํ์ด์ค๋ฅผ ๋งํฉ๋๋ค.
- ๋ฒํผ, ์์, ํฐํธ, ๋ ์ด์์ ๋ฑ ๋์์ธ ์์
- ์ฌ์ฉ์์ ์ํํธ์จ์ด ์ฌ์ด์ ์ํธ์์ฉ ์ฐฝ๊ตฌ
์น API์์๋ ์ฌ์ฉ์์์ ์ง์ ์ ์ธ ์ํธ์์ฉ์ ์์ง๋ง,
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์๊ฒ API๋ UI ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐํ๋ ํต์ฌ ๋ค๋ฆฌ์ ๋๋ค.
4-2. UX (User Experience)
UX
๋ ์ฌ์ฉ์๊ฐ ์๋น์ค๋ฅผ ์ด์ฉํ๋ฉด์ ๋๋ผ๋ ์ข
ํฉ์ ์ธ ๊ฒฝํ๊ณผ ๋ง์กฑ๋๋ฅผ ๋งํฉ๋๋ค.
- โ๋๋, ํ๋, ํ๋โ์ ์ดํฉ
- ์ง๊ด์ ์ธ ํ๋ฆ, ๋น ๋ฅธ ๋ฐ์, ์ฌ์ฉ์ฑ ๋ฑ์ด UX์ ์ํฅ์ ์ค๋๋ค
API ์ค๊ณ ๋ํ UX์ ํฐ ์ํฅ์ ์ค๋๋ค.
์๋ฅผ ๋ค์ด, API ์๋ต์ด ๋๋ฆฌ๊ฑฐ๋ ๋น์ง๊ด์ ์ด๋ผ๋ฉด UX๋ ๋๋น ์ง ์๋ฐ์ ์์ต๋๋ค.
5. API ์ค์ ํฌ์ธํธ
- ๋ฌธ์ํ (Documentation): ์ด๋ค ์์ฒญ์ ์ด๋ป๊ฒ ๋ณด๋ด์ผ ํ๊ณ , ์ด๋ค ์๋ต์ด ์ค๋์ง ๋ช ํํ๊ฒ ์ ๋ฆฌ
- ๋ณด์ (Authentication & Authorization): ํ ํฐ, OAuth ๋ฑ์ผ๋ก ์ฌ์ฉ์์ ์ ๊ทผ ์ ์ด
- ๋ฒ์ ๊ด๋ฆฌ (Versioning): ๊ธฐ์กด ์ฌ์ฉ์์ ์ํฅ์ ์ฃผ์ง ์๊ธฐ ์ํ v1, v2 ๋ฑ ๊ด๋ฆฌ
- ํ ์คํธ ๋ฐ ์์ธ ์ฒ๋ฆฌ: ๋ค์ํ ์ํฉ์ ๊ณ ๋ คํ ์์ ์ฑ ํ๋ณด