API ์ ๊ณต์ ์ฒด๋ ๊ฐ๋ฐ์๊ฐ ์ํํธ์จ์ด, ์๋น์ค ๋๋ ๋ฐ์ดํฐ์ ์ํธ ์์ฉํ๊ณ ํตํฉํ ์ ์๋๋ก ํ๋ API(์์ฉ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค)๋ฅผ ์์ฑ, ๊ด๋ฆฌ, ์ ์ง ๋ฐ ์ง์ํ๋ ์ผ์ ๋ด๋นํ๋ ๊ฐ์ธ ๋๋ ์กฐ์ง์ ๊ฐ์ฒด๋ฅผ ์๋ฏธํฉ๋๋ค. API ๊ณต๊ธ์๋ ์์ ์ด ์ ๊ณตํ๋ API๊ฐ ์ก์ธ์ค ๊ฐ๋ฅํ๊ณ ๊ธฐ๋ฅ์ ์ด๋ฉฐ ์์ ํ๊ณ ์ต์ ์ฐ์ ํ์ค ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ํตํด ์ต์ ์ํ์ธ์ง ํ์ธํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํ๊ธฐ ๋๋ฌธ์ ์ํํธ์จ์ด ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ์์ ํ์์ ์ ๋๋ค.
๋์งํธ ์ธ๊ณ๊ฐ ๊ณ์ ํ์ฅ๋จ์ ๋ฐ๋ผ ๋ค์ํ ์ํํธ์จ์ด ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ์ ํจ์จ์ ์ธ ํต์ ์ ๋ํ ํ์์ฑ๋ ์ปค์ง๊ณ ์์ต๋๋ค. API๋ ์ด๋ฌํ ํต์ ์ด ์ด๋ฃจ์ด์ง ์ ์๋๋ก ํ๋ ๋ธ๋ฆฌ์ง ์ญํ ์ ํฉ๋๋ค. ์ด๋ฌํ ๋งฅ๋ฝ์์ API ์ ๊ณต์ ์ฒด๋ ๋ค์ํ ์ํํธ์จ์ด ์์คํ , ๊ธฐ์ , ํ๋ซํผ ๋ฐ ์ฅ์น ๊ฐ์ ํ์ํ ์ฐ๊ฒฐ์ ์ด์งํ๋ ๋ฐ ์ค์ถ์ ์ธ ์ญํ ์ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฌ๋ ฅ์ ์ต๋ํ ํ์ฉํ๊ณ ๊ณ ๊ฐ์๊ฒ ๊ฐ์ํ๋๊ณ ์ญ๋์ ์ด๋ฉฐ ๊ธฐ๋ฅ์ด ํ๋ถํ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
API ์ ๊ณต์ ์ฒด์ ์ฃผ์ ์ฑ ์ ์ค ํ๋๋ ๊ฐ๋ฐ์๊ฐ API๋ฅผ ์ฝ๊ฒ ์ดํดํ๊ณ ํ๋ก์ ํธ์ ์ฌ์ฉํ ์ ์๋๋ก API๋ฅผ ์ฒ ์ ํ๊ฒ ๋ฌธ์ํํ๋ ๊ฒ์ ๋๋ค. ์์ธํ ๋ฌธ์์๋ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ endpoints, ์์ฒญ ๋ฐ ์๋ต ํ์, ์ธ์ฆ ๋ฐฉ๋ฒ, ์ค๋ฅ ์ฝ๋ ๋ฐ ์ฌ์ฉ ์ ํ์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋ฉ๋๋ค. ์ด ์ ๋ณด๋ ๊ฐ๋ฐ์๊ฐ API๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ํตํฉํ๊ณ ๊ทธ ์ด์ ์ ์ป์ ์ ์๋๋ก ํ๋ ๋ฐ ์ค์ํฉ๋๋ค.
API ์ ๊ณต์ ์ฒด๋ ๋ํ ํ์ฅ์ฑ์ ๊ฐ์กฐํ๊ณ ์์ ์ ์ธ ๊ธฐ์ ์ธํ๋ผ๋ฅผ ์ ์งํด์ผ ํฉ๋๋ค. API๊ฐ ๋๋์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ๊ฐ๋ฐ์์ ๊ฐ๋ฐ์๊ฐ ๊ตฌ์ถํ๋ ์ํํธ์จ์ด ์๋ฃจ์ ์ ์ฆ๊ฐํ๋ ์๊ตฌ ์ฌํญ์ ์์ฉํ ์ ์๋๋ก ์กฐ์ ํด์ผ ํฉ๋๋ค. ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์๋ฃจ์ , ์ปจํ ์ด๋ํ, ๋ก๋ ๋ฐธ๋ฐ์ฑ ๋๊ตฌ๋ฅผ ํตํด API๋ฅผ ๋ฐฐํฌํ๋ ๊ฒ์ ํ์ฅ์ฑ๊ณผ ์ฑ๋ฅ์ ๋ณด์ฅํ๊ธฐ ์ํ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค.
ํ์ฅ์ฑ ์ธ์๋ API ์ ๊ณต์ ์ฒด๋ API๋ฅผ ๊ฐ๋ฐํ ๋ ๋ณด์์ ์ค์์ฑ์ ์ธ์ํฉ๋๋ค. ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ณ ๋ฌด๋จ ์ก์ธ์ค๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๊ฐ๋ ฅํ ๋ณด์ ์กฐ์น๋ฅผ ๊ตฌํํด์ผ ํฉ๋๋ค. API ์ ๊ณต์ ์ฒด๊ฐ ๊ตฌํํ๋ ์ผ๋ฐ์ ์ธ ๋ณด์ ํ๋กํ ์ฝ์๋ ์ก์ธ์ค ์ ์ด, ์ํธํ, ์ธ์ฆ, ์์ฌ์ค๋ฌ์ด ํ๋ ๋ชจ๋ํฐ๋ง ๋ฐ ๋ก๊น ์ด ํฌํจ๋ฉ๋๋ค.
API ์ ๊ณต์ ์ฒด์ ๋ ๋ค๋ฅธ ์ค์ํ ์ฑ ์์ ํด๋น API๋ฅผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์์๊ฒ ์ง์์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์๋ ๊ฐ๋ฐ์๊ฐ ์ ๊ณต๋ API๋ฅผ ํจ์จ์ ์ผ๋ก ํตํฉํ๊ณ ์ต๋ํ ํ์ฉํ ์ ์๋๋ก ์ง๋ฌธ์ ๋ํ ์ฆ๊ฐ์ ์ธ ํด๊ฒฐ, ๋ฌธ์ ํด๊ฒฐ, ์ค๋ฅ ํด๊ฒฐ์ด ์๋ฐ๋ฉ๋๋ค. API ์ ๊ณต์ ์ฒด๋ ๋ณด๋ค ์ํํ ํตํฉ ํ๋ก์ธ์ค๋ฅผ ์ด์งํ๊ธฐ ์ํด ๊ต์ก ๋ฆฌ์์ค, ์ํ ์ฝ๋, ์ํํธ์จ์ด ๊ฐ๋ฐ ํคํธ(SDK)๋ฅผ ์ ๊ณตํ ์๋ ์์ต๋๋ค.
์ํํธ์จ์ด ๊ฐ๋ฐ ํ๊ฒฝ์์ API ๊ณต๊ธ์์ ์ค์์ฑ์ ๋ณด์ฌ์ฃผ๋ ํ๋ฅญํ ์๋ AppMasterno-code ํ๋ซํผ์ ๋๋ค. AppMaster ์ฌ์ฉ์๊ฐ ์๊ฐ์ ๋๊ตฌ์ ๊ฐ์ํ๋ ํ๋ก์ธ์ค๋ฅผ ํตํด ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น ๋ฅด๊ฒ ๋ง๋ค ์ ์๋๋ก ์ง์ํฉ๋๋ค. ํ๋ซํผ ์ ๊ณต์ ์ผ๋ถ๋ก ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํด๋น ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ์ ์ํํ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ REST API endpoints ์์ฑํ์ฌ ๋ณธ์ง์ ์ผ๋ก AppMaster ์์ฒด๋ฅผ API ๊ณต๊ธ์๋ก ๋ง๋ญ๋๋ค.
AppMaster ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ์ฌ API ์์ฑ ๋ฐ ๊ด๋ฆฌ๋ฅผ ํ ๋จ๊ณ ๋ ๋ฐ์ ์ํต๋๋ค. ์ฒ ์ ํ ๋ฌธ์ํ, ์ ๋ขฐํ ์ ์๋ ๊ธฐ์ ์ธํ๋ผ ๋ฐ ๊ฐ๋ ฅํ ๋ณด์ ์กฐ์น๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ๋ API๊ฐ ์์ ํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ํ๋ฅผ ์ ์งํ๋๋ก ๋ณด์ฅํฉ๋๋ค. ๋ํ ์์ค ์ฝ๋๋ฅผ ์์ฑํ๊ณ Docker ์ปจํ ์ด๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๋ AppMaster ์ ๊ธฐ๋ฅ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๋ฅผ ์ํ ์ฑ๋ฅ์ด ๋ฐ์ด๋๊ณ ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ ์์ ํ API๋ฅผ ์ ๊ณตํ๋ ค๋ AppMaster์ ํ์ ์ ๋์ฑ ๊ฐ์กฐํฉ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก AppMaster ์ ๊ฐ์ API ๊ณต๊ธ์๋ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์๊ฐ ์๋ก ๋ค๋ฅธ ์์คํ ์ ์ฐ๊ฒฐํ๊ณ ํฌ๊ด์ ์ด๊ณ ๊ธฐ๋ฅ์ด ํ๋ถํ ์๋ฃจ์ ์ ๋ง๋ค ์ ์๋๋ก ์ง์ํ๋ฏ๋ก ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋งค์ฐ โโ์ค์ํฉ๋๋ค. ๊ทธ๋ค์ API๊ฐ ์ ๋ฌธ์ํ๋๊ณ , ํ์ฅ ๊ฐ๋ฅํ๊ณ , ์์ ํ๊ณ , ์ง์๋๋๋ก ๋ณด์ฅํ์ฌ ๊ถ๊ทน์ ์ผ๋ก ๊ฐ๋ฐ์๊ฐ ๋ ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ณ ๊ณ ๊ฐ์๊ฒ ๊ณ ํ์ง ์๋น์ค๋ฅผ ์ ๊ณตํ๋๋ก ๋๋ ๋ฐ ์ค์ํ ์ฑ ์์ ๋งก๊ณ ์์ต๋๋ค.