2022๋…„ 2์›” 03์ผยท2๋ถ„ ์ฝ๊ธฐ

์ฝ”๋“œ๊ฐ€ ์—†๋Š” API๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์ฝ”๋“œ๊ฐ€ ์—†๋Š” ์ƒ์„ฑ์ž์™€ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜๋ฉด API๋ฅผ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ธฐ์กด ๊ฐœ๋ฐœ ๋ฐฉ์‹๋ณด๋‹ค ๋ช‡ ๋ฐฐ ๋” ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ๊ฐ€ ์—†๋Š” API๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ์ „๋ฌธ๊ฐ€ ์ˆ˜์ค€์˜ ์ฝ”๋“œ ์—†๋Š” ํ”Œ๋žซํผ์ธ AppMaster.io์—์„œ API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋จผ์ € API์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ๊ธฐ๋ณธ ์ •๋ณด๋ฅผ ์ƒ๊ธฐ์‹œ์ผœ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์†Œ๊ฐœ

API๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ๋ณด๋‚ด๊ณ  API๋Š” ๊ทธ๋“ค ์‚ฌ์ด์—์„œ ์ค‘๊ฐœ์ž ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

์ด ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์ƒํ˜ธ ์ž‘์šฉ์€ ๊ฐ„๋‹จํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ํŽธ๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž์˜ ์ž‘์—…(์ƒˆ ์„œ๋น„์Šค๋ฅผ ์žฌ๋ฐœ๋ช…ํ•  ํ•„์š” ์—†์Œ)๊ณผ ์‚ฌ์šฉ์ž(์„œ๋น„์Šค๊ฐ€ ์นœ์ˆ™ํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋ฉด ๋” ์‰ฝ๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Œ)๋ฅผ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. API์—๋Š” ์—ฌ๋Ÿฌ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์›น ์„œ๋น„์Šค API, XML-RPC ๋ฐ JSON-RPC, SOAP
  • ์›น์†Œ์ผ“ API;
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ธฐ๋ฐ˜ API, ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ;
  • ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ API, C# API, Java.

์ฝ”๋“œ๊ฐ€ ์—†๋Š” AppMaster.io ํ”Œ๋žซํผ์—์„œ๋Š” REST API ์Šคํƒ€์ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

REST ๋˜๋Š” ์ „์ฒด Representational State Transfer๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ(์ •๋ณด ๊ตํ™˜)์˜ ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์ž…๋‹ˆ๋‹ค. REST API์˜ ์„œ๋น„์Šค๋Š” HTTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ†ต์‹ ํ•ฉ๋‹ˆ๋‹ค.

REST ์Šคํƒ€์ผ์—๋Š” ๋ช‡ ๊ฐ€์ง€ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. REST์˜ ์ฃผ์š” ์žฅ์ ์€ ๋›ฐ์–ด๋‚œ ์œ ์—ฐ์„ฑ์ž…๋‹ˆ๋‹ค. REST๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์š”๊ตฌ ์‚ฌํ•ญ์„ ํ•ด๋‹น ํ˜•์‹์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์ง€์นจ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. REST๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด ๋ชจ๋ฐ”์ผ ์žฅ์น˜์—์„œ ๋น ๋ฅธ ๋กœ๋”ฉ์„ ์œ„ํ•ด ๋งค์šฐ ์ค‘์š”ํ•œ ๊ณ ์„ฑ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— Twitter์™€ Google๊ณผ ๊ฐ™์€ ๋ชจ๋“  ๋Œ€๊ธฐ์—…์€ ์˜ค๋žซ๋™์•ˆ ์ž์‚ฌ ์ œํ’ˆ์— REST API๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ๊ธฐ์‚ฌ์—์„œ REST API์˜ ์ž‘์—…๊ณผ ์ฃผ์š” ์ด์ ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ์š”์ฒญ์˜ ๊ตฌ์กฐ์—๋Š” HTTP ๋ฉ”์„œ๋“œ, ์—”๋“œํฌ์ธํŠธ, ํ—ค๋” ๋ฐ ๋ณธ๋ฌธ, ์š”์ฒญ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ 5๊ฐ€์ง€ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

REST API๋Š” ๋ฆฌ์†Œ์Šค(์ •๋ณด) ์ž‘์—…์„ ์œ„ํ•ด 4๊ฐ€์ง€ ๊ธฐ๋ณธ HTTP ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ๊ฐ ๋ฉ”์„œ๋“œ๋Š” ๋ฆฌ์†Œ์Šค๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์ž‘์—…์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

  • POST โ€” ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ
  • GET โ€” ๋ฆฌ์†Œ์Šค ๊ฐ€์ ธ์˜ค๊ธฐ
  • PUT โ€” ๋ฆฌ์†Œ์Šค ์—…๋ฐ์ดํŠธ
  • DELETE โ€” ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค๋Š” ๋ชจ๋“  ์ •๋ณด(๋ฌธ์„œ, ์ด๋ฏธ์ง€, ๋น„๋””์˜ค, ํ…์ŠคํŠธ ๋“ฑ)์ž…๋‹ˆ๋‹ค. AppMaster.io ์ฝ”๋“œ ์—†๋Š” ํ”Œ๋žซํผ์—์„œ ์ด ์ •๋ณด๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ JSON ํ˜•์‹์„ ํฌํ•จํ•˜์—ฌ ์—ฌ๋Ÿฌ ํ˜•์‹์œผ๋กœ ํด๋ผ์ด์–ธํŠธ์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

๋์ ์—๋Š” URI โ€” Uniform Resource Identifier(Uniform Resource Identifier)๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์‹๋ณ„์ž๋Š” ์ธํ„ฐ๋„ท์—์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐพ๋Š” ์œ„์น˜์™€ ๋ฐฉ๋ฒ•์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ URL(URL ๋˜๋Š” Uniform Resource Location์€ ์™„์ „ํ•œ ์›น ์ฃผ์†Œ์ž„)์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

ํ—ค๋”๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๋ชจ๋‘์— ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ํ—ค๋”๋Š” ์ฃผ๋กœ ์ธ์ฆ ๋ฐ์ดํ„ฐ(API ํ‚ค, ์„œ๋ฒ„๊ฐ€ ์„ค์น˜๋œ ์ปดํ“จํ„ฐ์˜ ์ด๋ฆ„ ๋˜๋Š” IP ์ฃผ์†Œ, ์‘๋‹ต ํ˜•์‹)๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ณธ๋ฌธ์€ ์„œ๋ฒ„์— ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ณธ๋ฌธ ๋ฐ์ดํ„ฐ๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ต์ฒดํ•˜๋ ค๋Š” ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค.

๋‹น์‚ฌ ํ”Œ๋žซํผ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ API ๋ฌธ์„œ๋Š” ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜์–ด ๋ฐฑ์—”๋“œ์—์„œ OpenAPI(Swagger) ํ˜•์‹์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

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

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ์™ธ๋ถ€ ๋ฆฌ์†Œ์Šค์— ํ†ตํ•ฉ(์—ฐ๊ฒฐ)ํ•  ๋•Œ ์ผ๋ถ€ API ์„ค์ •์„ ์ˆ˜๋™์œผ๋กœ ์•ฝ๊ฐ„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ ์—†๋Š” ํ”Œ๋žซํผ AppMaster.io๋ฅผ ์‚ฌ์šฉํ•œ API ์ƒ์„ฑ

๋”ฐ๋ผ์„œ ๋‹น์‚ฌ ํ”Œ๋žซํผ์˜ ์—ฌ๋Ÿฌ ์œ„์น˜์—์„œ API ์„ค์ •์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ๊ฐ€ ์—†๋Š” ํ”Œ๋žซํผ AppMaster.io์—์„œ API ๋์ ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

๊ธฐ์กด ํ”„๋กœ์ ํŠธ์˜ ๊ณ„์ •์— ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.

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

๋ชจ๋ธ ๊ฐ„์— ๋งํฌ๋ฅผ ํ• ๋‹นํ•˜๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

ํ™”๋ฉด ์™ผ์ชฝ ๋ฉ”๋‰ด์˜ ์—”๋“œํฌ์ธํŠธ ์„น์…˜์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ํ”„๋กœ์ ํŠธ ํ•„๋“œ์˜ ๊ฐ ๋ชจ๋ธ์— ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ์—”๋“œํฌ์ธํŠธ ๋ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ REST API ๋ฉ”์„œ๋“œ ๋ชฉ๋ก์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ถˆํ•„์š”ํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ฑฐํ•˜๊ณ  ์„ค์ •์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค(ํ†ฑ๋‹ˆ๋ฐ”ํ€ด ์•„์ด์ฝ˜ ๋ฐ ํœด์ง€ํ†ต ์•„์ด์ฝ˜).

๋ชฉ๋ก์— ์ ์ ˆํ•œ ๋์ ์ด ์—†์œผ๋ฉด ์ƒˆ ๋์  ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ณ  ์ ์ ˆํ•œ ์œ ํ˜•์„ ์„ ํƒํ•˜์—ฌ ์ƒˆ ๋์ ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋์  ์„ค์ •์ด ์žˆ๋Š” ๋ชจ๋‹ฌ ์ฐฝ์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค.

์ฝ”๋“œ ์—†๋Š” ํ”Œ๋žซํผ AppMaster.io์—์„œ ์™ธ๋ถ€ API๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์™ผ์ชฝ ๋ฉ”๋‰ด์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์„น์…˜์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ์™ธ๋ถ€ API ์š”์ฒญ ํƒญ์—์„œ ์™ธ๋ถ€ API ์š”์ฒญ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ด ์˜ต์…˜์€ ๋ฒ ํƒ€ ๋ฒ„์ „์ž„).

๋˜ํ•œ ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ๋ชจ๋“  ๋ฌธ์„œ๋Š” ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฑ์—”๋“œ์—์„œ OpenAPI(Swagger) ํ˜•์‹์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

Swagger๋Š” ๋ฌธ์„œํ™”์ด๋ฉฐ Postman๊ณผ ๊ฐ™์€ ํƒ€์‚ฌ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ฆ‰์‹œ ๋ชจ๋“  ๋์ ์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

ํ”„๋กœ๋•์…˜ ๋ฐฑ์—”๋“œ ์ƒ์„ฑ
ํ™•์žฅ ๊ฐ€๋Šฅํ•œ Go ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ”„๋กœ๋•์…˜ ์ค€๋น„๋œ ๋ฐฑ์—”๋“œ๋ฅผ ์ƒ์„ฑํ•˜์„ธ์š”.
๋ฐฑ์—”๋“œ ์ƒ์„ฑ

๋ณด์‹œ๋‹ค์‹œํ”ผ ์ฝ”๋“œ ์—†์ด API ์„ค์ •์„ ๋งŒ๋“ค๊ณ  ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ณ  ์ตœ์†Œํ•œ์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์•„์ง AppMaster.io์— ๊ณ„์ •์ด ์—†๋‹ค๋ฉด ๊ฐ€์ž… ํ•˜๊ณ  ํ‰๊ฐ€ํŒ์— ๋“ฑ๋กํ•˜์‹ญ์‹œ์˜ค .

์‰ฌ์šด ์‹œ์ž‘
๋ฉ‹์ง„๋งŒ๋“ค๊ธฐ

๋ฌด๋ฃŒ ์š”๊ธˆ์ œ๋กœ AppMaster๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.
์ค€๋น„๊ฐ€ ๋˜๋ฉด ์ ์ ˆํ•œ ๊ตฌ๋…์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๋‹ค
์ฝ”๋“œ๊ฐ€ ์—†๋Š” API๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• | AppMaster