๊ทธ๋Ÿผ RAML์ธ๊ฐ€์š” ์•„๋‹ˆ๋ฉด OAS(Swagger)์ธ๊ฐ€์š”?

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

๊ทธ๋Ÿผ RAML์ธ๊ฐ€์š” ์•„๋‹ˆ๋ฉด OAS(Swagger)์ธ๊ฐ€์š”?

๊ฒŒ์‹œ๋ฌผ ์ค€๋น„๋จ ์•ˆ๋‚˜ ๋ฉœ๋ ˆ์ฝ”๋ฐ” ะธ ๋ธ”๋ผ๋””๋ฏธ๋ฅด ๋ผํŒŒํ‹ด

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค. Acronis Cyber โ€‹โ€‹Cloud๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ๋“ค์—์„œ ๋ฒ—์–ด๋‚  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ณ„์•ฝ์„ ๊ณต์‹ํ™”ํ•˜์ง€ ์•Š๊ณ ์„œ๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

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

๊ทธ๋Ÿผ RAML์ธ๊ฐ€์š” ์•„๋‹ˆ๋ฉด OAS(Swagger)์ธ๊ฐ€์š”?
Amazon ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋‹ค์ด์–ด๊ทธ๋žจ ์งน์งน ๋ฒ ๋ฅด๋„ˆ ๋ณด๊ฒ”๋ฆฌ์Šค(Werner Vogelis) ์•„๋งˆ์กด CTO
๋”œ๋ ˆ๋งˆ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์‹ค์ œ๋กœ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” HTTP Rest์™€ Google์˜ gRPC ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Google์˜ ๊ธฐ์ˆ  ์Šคํƒ์— ์–ฝ๋งค์ด๊ณ  ์‹ถ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” HTTP Rest๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. HTTP REST ๊ณ„์•ฝ ์ฃผ์„์€ ์ด์ „์— Swagger๋กœ ์•Œ๋ ค์ง„ RAML ๋ฐ OAS์˜ ๋‘ ๊ฐ€์ง€ ํ˜•์‹ ์ค‘ ํ•˜๋‚˜๋กœ ๊ฐ€์žฅ ์ž์ฃผ ์„ค๋ช…๋˜๋ฏ€๋กœ ๋ชจ๋“  ๊ฐœ๋ฐœ ํŒ€์€ ํ‘œ์ค€ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์— ์ง๋ฉดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ์„ ํƒ์„ ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์„์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์™ธ๋ถ€ ์‚ฌ์šฉ์ž๊ฐ€ HTTP ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…์„ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฃผ์„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๊ธฐ๋ณธ ์ˆ˜์ค€์—์„œ ์ฃผ์„์—๋Š” ์ตœ์†Œํ•œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฆฌ์†Œ์Šค ๋ชฉ๋ก, ํ•ด๋‹น HTTP ๋ฉ”์„œ๋“œ, ์š”์ฒญ ๋ณธ๋ฌธ, ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก, ํ•„์ˆ˜ ๋ฐ ์ง€์›๋˜๋Š” ํ—ค๋” ํ‘œ์‹œ, ๋ฐ˜ํ™˜ ์ฝ”๋“œ ๋ฐ ์‘๋‹ต ํ˜•์‹์ด ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์•ฝ ์ฃผ์„์˜ ๋งค์šฐ ์ค‘์š”ํ•œ ์š”์†Œ๋Š” ๊ตฌ๋‘ ์„ค๋ช…์ž…๋‹ˆ๋‹ค("์ด ์ฟผ๋ฆฌ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์š”์ฒญ์— ์ถ”๊ฐ€ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”?", "์–ด๋–ค ๊ฒฝ์šฐ์— ์ฝ”๋“œ 400์ด ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๊นŒ?").

๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์ˆ˜์˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์ž‘์„ฑ๋œ ์ฃผ์„์—์„œ ์ถ”๊ฐ€ ๊ฐ€์น˜๋ฅผ ์ถ”์ถœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด RAML/Swagger๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ˆ˜๋งŽ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ํด๋ผ์ด์–ธํŠธ ๋ฐ ์„œ๋ฒ„ ์ฝ”๋“œ๋ฅผ ๋ชจ๋‘ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ์ž๋™์œผ๋กœ ๋ฐ›์•„ ๊ฐœ๋ฐœ์ž ํฌํ„ธ์— ์—…๋กœ๋“œํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. :)

๊ทธ๋Ÿผ RAML์ธ๊ฐ€์š” ์•„๋‹ˆ๋ฉด OAS(Swagger)์ธ๊ฐ€์š”?
๊ตฌ์กฐํ™”๋œ ๊ณ„์•ฝ ์„ค๋ช…์˜ ์˜ˆ

๊ณ„์•ฝ ์„ค๋ช…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ด€ํ–‰์€ ๋œ ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ์ฃผ์„๊ณผ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋ชจ๋‘ ์ž‘์„ฑํ•œ ๊ฒฝ์šฐ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋กœ ์„œ๋น„์Šค์˜ ์ ํ•ฉ์„ฑ์„ ํ™•์ธํ•˜๋Š” ์ž๋™ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค๊ฐ€ ์ฃผ์„์— ์„ค๋ช…๋˜์ง€ ์•Š์€ ์‘๋‹ต ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๊นŒ? ๋ช…๋ฐฑํžˆ ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

๋˜ํ•œ ๊ณ„์•ฝ ์ž์ฒด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ฃผ์„ ์‹œ๊ฐํ™” ๋„๊ตฌ์˜ ๊ณ ํ’ˆ์งˆ ๊ตฌํ˜„์„ ํ†ตํ•ด ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์ž‘์—…์„ ๋‹จ์ˆœํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์•„ํ‚คํ…ํŠธ๊ฐ€ ๊ณ ํ’ˆ์งˆ์˜ ๊ณ„์•ฝ์„œ๋ฅผ ๊ธฐ์ˆ ํ–ˆ๋‹ค๋ฉด, ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋””์ž์ด๋„ˆ์™€ ๊ฐœ๋ฐœ์ž๋Š” ์ถ”๊ฐ€ ์‹œ๊ฐ„ ๋น„์šฉ ์—†์ด ๋‹ค๋ฅธ ์ œํ’ˆ์— ์„œ๋น„์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋œ๋‹ค.

์ถ”๊ฐ€ ๋„๊ตฌ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด RAML๊ณผ OAS ๋ชจ๋‘ ํ‘œ์ค€์—์„œ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ๋ฅผ ๋“ค์–ด, ์ด๊ฒƒ์ด OAS์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.).

์ผ๋ฐ˜์ ์œผ๋กœ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ณ„์•ฝ์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฐฝ์˜์„ฑ์˜ ๋ฒ”์œ„๋Š” ์—„์ฒญ๋‚ฉ๋‹ˆ๋‹ค...์ ์–ด๋„ ์ด๋ก ์ƒ์œผ๋กœ๋Š” ๋ง์ด์ฃ .

๊ณ ์Šด๋„์น˜์™€ ๋ฑ€์˜ ๋น„๊ต

ํ˜„์žฌ Acronis์˜ ์šฐ์„  ๊ฐœ๋ฐœ ์˜์—ญ์€ Acronis Cyber โ€‹โ€‹โ€‹โ€‹ํ”Œ๋žซํผ ๊ฐœ๋ฐœ์ž…๋‹ˆ๋‹ค. Acronis Cyber โ€‹โ€‹โ€‹โ€‹ํ”Œ๋žซํผ์€ Acronis Cyber โ€‹โ€‹โ€‹โ€‹Cloud ๋ฐ ์—์ด์ „ํŠธ ๋ถ€๋ถ„๊ณผ ํƒ€์‚ฌ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ฉํ•˜๋Š” ์ƒˆ๋กœ์šด ์ง€์ ์ž…๋‹ˆ๋‹ค. RAML์— ์„ค๋ช…๋œ ๋‚ด๋ถ€ API์— ๋งŒ์กฑํ–ˆ์ง€๋งŒ API๋ฅผ ๋‹ค์‹œ ๊ฒŒ์‹œํ•ด์•ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์„ ํƒ์— ๋Œ€ํ•œ ์งˆ๋ฌธ์ด ์ œ๊ธฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ž‘์—…์— ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์ฃผ์„ ํ‘œ์ค€์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ฒ˜์Œ์—๋Š” ๋‘ ๊ฐ€์ง€ ์†”๋ฃจ์…˜์ด ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๊ฐœ๋ฐœ์€ RAML๊ณผ Swagger(๋˜๋Š” OAS)์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ๋Š” ์ ์–ด๋„ 2๊ฐœ์˜ ๋Œ€์•ˆ์ด ์•„๋‹ˆ๋ผ 3๊ฐœ ์ด์ƒ์˜ ๋Œ€์•ˆ์ด ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ฐํ˜€์กŒ์Šต๋‹ˆ๋‹ค.

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

๊ทธ๋Ÿฌ๋‚˜ RAML์˜ ๊ฐœ๋ฐœ์ž์ธ Mulesoft๊ฐ€ Open API ์ปจ์†Œ์‹œ์—„์— ํ•ฉ๋ฅ˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฉ‹์ง„. ๋”ฐ๋ผ์„œ RAML์€ ๊ฐœ๋ฐœ์„ ์ค‘๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ์˜ ํ˜•์‹์„ ์ƒ์ƒํ•ด ๋ณด๋ ค๋ฉด ์ฃผ์š” Linux ๊ตฌ์„ฑ ์š”์†Œ์˜ ์œ ์ง€ ๊ด€๋ฆฌ ๋‹ด๋‹น์ž๊ฐ€ Microsoft์—์„œ ์ผํ•˜๊ธฐ ์œ„ํ•ด ๋– ๋‚ฌ๋‹ค๊ณ  ์ƒ์ƒํ•ด ๋ณด์„ธ์š”. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์€ ๋™์ ์œผ๋กœ ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ๋Š” Swagger๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ „์ œ ์กฐ๊ฑด์„ ์ƒ์„ฑํ•˜๋ฉฐ ์ตœ์‹  ์„ธ ๋ฒˆ์งธ ๋ฒ„์ „์—์„œ๋Š” ์œ ์—ฐ์„ฑ๊ณผ ๊ธฐ๋Šฅ ์ธก๋ฉด์—์„œ ์‹ค์งˆ์ ์œผ๋กœ RAML์„ ๋”ฐ๋ผ์žก์Šต๋‹ˆ๋‹ค.

ํ•œ๊ฐ€์ง€๋งŒ ์•„๋‹ˆ๋ผ๋ฉด...

์•Œ๊ณ  ๋ณด๋‹ˆ ๋ชจ๋“  ์˜คํ”ˆ ์†Œ์Šค ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ OAS 3.0์œผ๋กœ ์—…๋ฐ์ดํŠธ๋œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. Go์˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ ์‘๋ ฅ์ด ๋ถ€์กฑํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ—ˆํ’์Ÿ์ด ์ตœ์‹  ๋ฒ„์ „์˜ ํ‘œ์ค€์— ๋Œ€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Swagger 2์™€ Swagger 3์˜ ์ฐจ์ด์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฑฐ๋Œ€ํ•œ. ์˜ˆ๋ฅผ ๋“ค์–ด, ์„ธ ๋ฒˆ์งธ ๋ฒ„์ „์—์„œ ๊ฐœ๋ฐœ์ž๋Š” ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ์ธ์ฆ ์ฒด๊ณ„์— ๋Œ€ํ•œ ์„ค๋ช… ๊ฐœ์„ 
  • ์™„๋ฃŒ JSON ์Šคํ‚ค๋งˆ ์ง€์›
  • ์˜ˆ์‹œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ์—…๊ทธ๋ ˆ์ด๋“œ

์ƒํ™ฉ์€ ์žฌ๋ฏธ์žˆ์Šต๋‹ˆ๋‹ค. ํ‘œ์ค€์„ ์„ ํƒํ•  ๋•Œ RAML, Swagger 2 ๋ฐ Swagger 3์„ ๋ณ„๋„์˜ ๋Œ€์•ˆ์œผ๋กœ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Swagger 2๋งŒ์ด OpenSource ๋„๊ตฌ๋ฅผ ์ž˜ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. RAML์€ ๋งค์šฐ ์œ ์—ฐํ•˜๊ณ  ๋ณต์žกํ•˜๋ฉฐ Swagger 3์€ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์ œ๋Œ€๋กœ ์ง€์›๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ฝค ๋น„์‹ผ ๊ฒฝํ–ฅ์ด ์žˆ๋Š” ๋…์  ๋„๊ตฌ๋‚˜ ์ƒ์šฉ ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฒŒ๋‹ค๊ฐ€ ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ํฌํ„ธ์ฒ˜๋Ÿผ Swagger์— ์ข‹์€ ๊ธฐ๋Šฅ์ด ๋งŽ๋‹ค๋ฉด editor.swagger.io, ์ฃผ์„์„ ์—…๋กœ๋“œํ•˜๊ณ  ์ž์„ธํ•œ ์„ค๋ช…, ๋งํฌ ๋ฐ ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ์‹œ๊ฐํ™”๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋” ๊ธฐ๋ณธ์ ์ด๊ณ  ๋œ ์นœ์ˆ™ํ•œ RAML์˜ ๊ฒฝ์šฐ ๊ทธ๋Ÿฌํ•œ ๊ธฐํšŒ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ, GitHub์˜ ํ”„๋กœ์ ํŠธ ์ค‘์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๊ฑฐ๊ธฐ์—์„œ ์œ ์‚ฌํ•œ ํ•ญ๋ชฉ์„ ์ฐพ์•„ ์ง์ ‘ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์–ด๋–ค ๊ฒฝ์šฐ์—๋„ ๋ˆ„๊ตฐ๊ฐ€๋Š” ํฌํ„ธ์„ ์œ ์ง€ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ด๋Š” ๊ธฐ๋ณธ ์‚ฌ์šฉ์ด๋‚˜ ํ…Œ์ŠคํŠธ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋น„ํ•ด ๊ทธ๋ฆฌ ํŽธ๋ฆฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ swagger๋Š” ๋” "์›์น™์ ์ด์ง€" ์•Š๊ฑฐ๋‚˜ ๋” ์ž์œ ์ ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ฝ”๋“œ์˜ ์ฃผ์„์—์„œ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ด๋Š” API ์ฒซ ๋ฒˆ์งธ ์›์น™์— ์œ„๋ฐฐ๋˜๋ฉฐ RAML ์œ ํ‹ธ๋ฆฌํ‹ฐ์—์„œ๋Š” ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

๊ผญ ์„ ํƒํ•ด์•ผ ํ•˜๋‚˜์š”?

RAML์šฉ ์†”๋ฃจ์…˜ ์ƒํƒœ๊ณ„๋ฅผ ์™„์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•œ ๊ฒฐ๊ณผ, RAML์„ Swagger 2๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ์—ฌ๊ธฐ์—์„œ ๋ชจ๋“  ์ž๋™ํ™”, ๊ฒ€์ฆ, ํ…Œ์ŠคํŠธ ๋ฐ ํ›„์† ์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒฐ๋ก ์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” RAML์˜ ์œ ์—ฐ์„ฑ๊ณผ Swagger์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋„๊ตฌ ์ง€์›์„ ๋ชจ๋‘ ํ™œ์šฉํ•˜๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ณ„์•ฝ ๋ณ€ํ™˜์„ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ OpenSource ๋„๊ตฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. oas-raml-๋ณ€ํ™˜๊ธฐ ํ˜„์žฌ ์ง€์›๋˜์ง€ ์•Š๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ์ž…๋‹ˆ๋‹ค. ์ž‘์—…ํ•˜๋Š” ๋™์•ˆ ์šฐ๋ฆฌ๋Š” ๋‹ค์ˆ˜์˜ ํŒŒ์ผ์— ๊ฑธ์ณ "ํ™•์‚ฐ"๋˜๋Š” ๋ณต์žกํ•œ RAML์— ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ๊ทธ๋žจ์€ JavaScript๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๊ตฌ๋ฌธ ํŠธ๋ฆฌ์˜ ์žฌ๊ท€ ์ˆœํšŒ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋™์  ํƒ€์ดํ•‘์œผ๋กœ ์ธํ•ด ์ด ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์›Œ์ง€๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” ์ฃฝ์–ด๊ฐ€๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ๋Œ€ํ•œ ํŒจ์น˜๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ•˜์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
  2. webapi ํŒŒ์„œ - ๋ชจ๋“  ๊ฒƒ์„ ์–ด๋–ค ๋ฐฉํ–ฅ์œผ๋กœ๋“  ๋ณ€ํ™˜ํ•  ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ๋‹ค๊ณ  ์ฃผ์žฅํ•˜๋Š” ๋™์ผํ•œ ํšŒ์‚ฌ์˜ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ๊นŒ์ง€ RAML 0.8, RAML 1.0 ๋ฐ Swagger 2.0์— ๋Œ€ํ•œ ์ง€์›์ด ๋ฐœํ‘œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๊ฐ€ ์—ฐ๊ตฌํ•  ๋‹น์‹œ์—๋Š” ๊ทธ ํšจ์šฉ์„ฑ์ด ์—ฌ์ „ํžˆ ๋‚ฎ์•˜์Šต๋‹ˆ๋‹ค. ๊ทน๋„๋กœ ์Šตํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ผ์ข…์˜ IR, ํ–ฅํ›„ ์ƒˆ๋กœ์šด ํ‘œ์ค€์„ ์‹ ์†ํ•˜๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง€๊ธˆ๊นŒ์ง€๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

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

๊ฒฐ๋ก 

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

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

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

์šฐ๋ฆฌ์˜ ๊ฒฝํ—˜์— ๋”ฐ๋ฅด๋ฉด ๋‹ค์Œ ๊ฒŒ์‹œ๋ฌผ์—์„œ๋Š” RAML-Swagger ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ์ •์  ๋ฐ ๋™์  ๊ฒ€์‚ฌ์™€ ๊ณ„์•ฝ์—์„œ ์ƒ์„ฑํ•˜๋Š” ๋ฌธ์„œ ๋ฐ ์ž‘๋™ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋“ฑ๋ก๋œ ์‚ฌ์šฉ์ž๋งŒ ์„ค๋ฌธ ์กฐ์‚ฌ์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธ์ œ๋ฐœ

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ณ„์•ฝ์— ์ฃผ์„์„ ๋‹ฌ๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๊นŒ?

  • RAML 0.8

  • RAML 1.0

  • ์Šค์›จ๊ฑฐ 2

  • OAS3(์ผ๋ช…)

  • ์ฒญ์‚ฌ์ง„

  • ๋‹ค๋ฅธ

  • ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ

100๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ํˆฌํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. 24๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ๊ถŒํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€