๐๋ค๋ก๊ฐ๊ธฐ
API ๋ฒ์ ๊ด๋ฆฌ๋ API์ ๋ณํ๋ฅผ ์๊ฐ์ ๋ฐ๋ผ ์ถ์ ํ๊ณ , ํธํ์ฑ์ ์ ์งํ๋ ๋ฐ ๋์์ด ๋๋ ๋ฐฉ๋ฒ์ด๋ค. API๊ฐ ๋ฐ์ ํ๊ณ ์๋ก์ด ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๊ฑฐ๋ ๊ธฐ์กด ๊ธฐ๋ฅ์ด ๋ณ๊ฒฝ๋๋ฉด, ๊ฐ๋ฐ์๋ค์ด ์ด ๋ณํ์ ์ ์ํ๊ณ API๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋ฒ์ ๊ด๋ฆฌ๊ฐ ํ์ํ๋ค.
API ๋ฒ์ ๊ด๋ฆฌ์ ์ค์์ฑ
- ํธํ์ฑ ์ ์ง
API ๋ณ๊ฒฝ์ฌํญ์ด ๊ธฐ์กด ์ฌ์ฉ์๋ค์ ์ ํ๋ฆฌ์ผ์ด์
์ ์ํฅ์ ์ฃผ์ง ์๋๋ก ํ๋ฉฐ, ์๋ก์ด ๊ธฐ๋ฅ์ ์์ ํ๊ฒ ๋์
ํ ์ ์๊ฒ ํ๋ค.
- ์ด์ ๋ฒ์ ์ง์
์ผ๋ถ ์ฌ์ฉ์๋ค์ด ์ด์ ๋ฒ์ ์ API๋ฅผ ๊ณ์ ์ฌ์ฉํ ์ ์๋๋ก ์ง์ํ๋ค.
- ๋ณํ ์ถ์
API์ ๋ณํ๋ฅผ ๊ธฐ๋กํ์ฌ, ์ฌ์ฉ์๋ค์ด ์ฝ๊ฒ ๋ณํ์ ๋ํ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋ค.
API ๋ฒ์ ๊ด๋ฆฌ ์ ๋ต
- URI ๋ฒ์ ๊ด๋ฆฌ
URI์ ๋ฒ์ ์ ๋ณด๋ฅผ ํฌํจํ์ฌ ์ฌ์ฉ์๊ฐ ์ฝ๊ฒ API ๋ฒ์ ์ ์๋ณํ ์ ์๊ฒ ํ๋ค. ์๋ฅผ ๋ค์ด, **
/api/v1/users**์ **/api/v2/users**๋ ๊ฐ๊ฐ ๋ฒ์ 1๊ณผ ๋ฒ์ 2์ ์ฌ์ฉ์ ๊ด๋ จ API๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
- HTTP ํค๋๋ฅผ ์ฌ์ฉํ ๋ฒ์ ๊ด๋ฆฌ
HTTP ํค๋์ ๋ฒ์ ์ ๋ณด๋ฅผ ํฌํจํ์ฌ ์ ๋ฌํ๋ค. ์ด ๋ฐฉ๋ฒ์ URI๋ฅผ ๊น๋ํ๊ฒ ์ ์งํ ์ ์์ง๋ง, ์ฌ์ฉ์๊ฐ ๋ฒ์ ์ ๋ณด๋ฅผ ์ฝ๊ฒ ํ์ธํ๊ธฐ ์ด๋ ต๋ค๋ ๋จ์ ์ด ์๋ค.
- ๋ด์ฉ ํ์์ ์ฌ์ฉํ ๋ฒ์ ๊ด๋ฆฌ
ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ HTTP ํค๋๋ฅผ ํตํด ์ ์ ํ ๋ฒ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์๋์ผ๋ก ์ ์ ํ ๋ฒ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ ์ ์์ง๋ง, ๋ณต์ก์ฑ์ด ๋๋ค.
API๋ฅผ ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌํ ๋๋ ์ ์ ํ ๋ฒ์ ๊ด๋ฆฌ ์ ๋ต์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๋ค์ด API์ ๋ณํ์ ์ฝ๊ฒ ๋์ํ ์ ์๋๋ก ํด์ผ ํ๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ค์ ์์ ์ ์ด๊ณ ํธํ์ฑ ์๋ API๋ฅผ ์ฌ์ฉํ ์ ์๋ค.