API ์‚ฌ์–‘ ๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค ์‚ฌ์–‘์€ ์†Œํ”„ํŠธ์›จ์–ด API๋ฅผ ์„ค๊ณ„, ๊ตฌ์ถ• ๋ฐ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ฒญ์‚ฌ์ง„์„ ์ •์˜ํ•˜๋Š” ๊ตฌ์กฐํ™”๋œ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค. API ๊ฐœ๋ฐœ์ž๊ฐ€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋””์ž์ธํ•  ๋•Œ ์ค€์ˆ˜ํ•ด์•ผ ํ•˜๋Š” ๊ทœ์น™๊ณผ ๊ทœ์น™์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํฌ๊ด„์ ์ธ ๊ฐ€์ด๋“œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์˜ ์ผ๊ด€์„ฑ, ์ƒํ˜ธ ์šด์šฉ์„ฑ ๋ฐ ์›ํ™œํ•œ ๋ฐ์ดํ„ฐ ๊ตํ™˜์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค.

API ์‚ฌ์–‘์€ ํŠนํžˆ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋ฐ ์‹ ์†ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์‹œ๋Œ€์— ํ˜„๋Œ€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ์ค‘์š”ํ•œ ์ธก๋ฉด์ž…๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์ƒํ˜ธ ์ž‘์šฉ์˜ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ๊ฐœ๋ฐœ์ž ๊ฐ„์˜ ์›ํ™œํ•œ ํ˜‘์—…์„ ์ด‰์ง„ํ•˜๊ณ  ์—ฌ๋Ÿฌ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์—์„œ API์˜ ์›ํ™œํ•œ ํ†ตํ•ฉ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด API ํŠน์„ฑ์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ๋ฌธ์„œ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ „ ์„ธ๊ณ„ API ๊ด€๋ฆฌ ์‹œ์žฅ ๊ทœ๋ชจ๋Š” 2018๋…„ 12์–ต ๋‹ฌ๋Ÿฌ์—์„œ 2023๋…„ 51์–ต ๋‹ฌ๋Ÿฌ๋กœ ์„ฑ์žฅํ•  ๊ฒƒ์œผ๋กœ ์ถ”์ •๋˜๋ฉฐ, ์ด๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ API ์‚ฌ์–‘์˜ ์ค‘์š”์„ฑ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.

๊ณ ํ’ˆ์งˆ์˜ ์•ˆ์ •์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ œ๊ณตํ•˜๋ ค๋ฉด ์ž˜ ์ •์˜๋œ API ์‚ฌ์–‘์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, AppMaster ๊ณ ๊ฐ์ด ์‹œ๊ฐ์ ์œผ๋กœ ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ, ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค, REST API ๋ฐ WSS endpoints ํ™œ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ, ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ no-code ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. AppMaster ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์˜ ์„œ๋ฒ„ endpoints ์— ๋Œ€ํ•œ OpenAPI(์ด์ „์˜ Swagger) ๋ฌธ์„œ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ”Œ๋žซํผ์—์„œ ์ œ๊ณตํ•˜๋Š” API๋ฅผ ๋” ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

API ์‚ฌ์–‘์—๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ์„ ํฌํ•จํ•˜์—ฌ API์˜ ์ ์ ˆํ•œ ๊ธฐ๋Šฅ๊ณผ ํ†ตํ•ฉ์„ ๋ณด์žฅํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

1. API ์„ค๋ช… : ์ด ์„น์…˜์—์„œ๋Š” API์˜ ์ „๋ฐ˜์ ์ธ ๋ชฉ์ , ์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘, ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ ๋˜๋Š” ์ œํ•œ ์‚ฌํ•ญ์„ ๋ฌธ์„œํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์‹ค์ œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ API ๊ตฌํ˜„์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ์ƒ˜ํ”Œ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ํฌํ•จ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

2. ๋์  ๋ฐ ์ž‘์—… : ์—ฌ๊ธฐ์—์„œ API ์‚ฌ์–‘์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋‹ค์–‘ํ•œ endpoints ๋ฐ ๊ด€๋ จ HTTP ๋ฉ”์„œ๋“œ(์˜ˆ: GET, POST, PUT, DELETE)๋ฅผ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ endpoint ์—๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์„ค๋ช…, ์˜ˆ์ƒ ์ž…๋ ฅ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ์˜ˆ์ƒ ์ถœ๋ ฅ ํ˜•์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ •๋ณด๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ API์™€ ํšจ์œจ์ ์ด๊ณ  ํšจ๊ณผ์ ์œผ๋กœ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

3. ์š”์ฒญ ๋ฐ ์‘๋‹ต ๋ฐ์ดํ„ฐ ํ˜•์‹ : API ์‚ฌ์–‘์€ ๋ฐ์ดํ„ฐ ์œ ํ˜•, ์ œ์•ฝ ์กฐ๊ฑด ๋ฐ ๊ณตํ†ต ํ‘œํ˜„์„ ํฌํ•จํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก๋˜๊ณ  ์ˆ˜์‹ ๋˜๋Š” ํ˜•์‹์„ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ํ˜•์‹์˜ ์˜ˆ๋กœ๋Š” JSON, XML ๋ฐ ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช…ํ™•ํ•œ ๋ฐ์ดํ„ฐ ํ˜•์‹์„ ์ œ๊ณตํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ API์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋™์•ˆ ์˜ˆ์ƒ๋˜๋Š” ์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ์„ ์ธ์‹ํ•˜๊ณ  ๋น„ํ˜ธํ™˜์„ฑ ์œ„ํ—˜์„ ์ค„์ด๊ณ  ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์ด‰์ง„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ : API์—๋Š” ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ ๋ฐ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ๋ณด์•ˆ ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. API ์‚ฌ์–‘์€ ์ง€์›๋˜๋Š” ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜(์˜ˆ: API ํ‚ค, OAuth ๋˜๋Š” JWT)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ๊ณ„๋ณ„ ์ง€์นจ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

5. ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๋ฐ ์ƒํƒœ ์ฝ”๋“œ : API ์‚ฌ์–‘์€ ์˜ˆ์ƒ๋˜๋Š” ์˜ค๋ฅ˜ ๋ฐ ํ•ด๋‹น ์ƒํƒœ ์ฝ”๋“œ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” API ํ†ตํ•ฉ ์ค‘ ์˜ค๋ฅ˜๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ํ•ด์„ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ๊ถ๊ทน์ ์œผ๋กœ ๋”์šฑ ํƒ„๋ ฅ์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6. ์†๋„ ์ œํ•œ ๋ฐ ์ œํ•œ : API ์‚ฌ์–‘์—๋Š” ์ง€์ •๋œ ์‹œ๊ฐ„ ๋‚ด์— ํด๋ผ์ด์–ธํŠธ๊ฐ€ API์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์š”์ฒญ ์ˆ˜๋ฅผ ์ œํ•œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์†๋„ ์ œํ•œ์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” API ๋ฆฌ์†Œ์Šค์˜ ์˜ค์šฉ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ๊ณต์ •ํ•œ ์‚ฌ์šฉ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๋„๋ฆฌ ์ฑ„ํƒ๋œ ์—ฌ๋Ÿฌ API ์‚ฌ์–‘ ํ‘œ์ค€์—๋Š” OAS(OpenAPI ์‚ฌ์–‘), RAML(RESTful API Modeling Language) ๋ฐ API Blueprint๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‚ฌ์–‘์€ API ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•ด ํ‘œ์ค€ํ™”๋˜๊ณ  ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ˜•์‹์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ƒˆ๋กœ์šด API๋ฅผ ๋” ์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ, ์ž˜ ์ •์˜๋œ API ์‚ฌ์–‘์€ ํ˜„๋Œ€ ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๊ณต์— ํ•„์ˆ˜์ ์ด๋ฉฐ ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์˜ ์›ํ™œํ•œ ํ†ตํ•ฉ๊ณผ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ํšจ์œจ์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์ˆ˜์š”๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ API ์‚ฌ์–‘์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ๋ฏธ๋ž˜๋ฅผ ํ˜•์„ฑํ•˜๋Š” ๋ฐ ๊ณ„์† ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. AppMaster ์™€ ๊ฐ™์€ ํ”Œ๋žซํผ์„ ํ™œ์šฉํ•จ์œผ๋กœ์จ ๊ฐœ๋ฐœ์ž๋Š” ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ๋„๊ตฌ, ์ž๋™ํ™”๋œ API ๋ฌธ์„œ ๋ฐ ๊ธฐํƒ€ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ API ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๊ณ  ์ „๋ฐ˜์ ์ธ ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.