๐Ÿ“š ์•Œ์“ธ์ฝ”์žก : ์•Œ์•„๋‘๋ฉด ์“ธ๋ชจ์žˆ๋Š” ์ฝ”๋”ฉ ์žกํ•™์ง€์‹!


1๏ธโƒฃ ์„œ๋ก 

๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ Open API ๋ผ๋Š” ์šฉ์–ด๋ฅผ ๋งŽ์ด ์ ‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ตœ๊ทผ์— ๋น„์Šทํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š” OpenAPI ๋ผ๋Š” ์šฉ์–ด๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ์š”. ์ด๋ฒˆ๊ธ€์—์„œ๋Š” ์ด ๋‘˜์˜ ์ฐจ์ด์ ์ด ๋ฌด์—‡์ธ์ง€๋ฅผ ์ด์•ผ๊ธฐ ํ•ด๋ณผ๊นŒ ํ•ฉ๋‹ˆ๋‹ค.


2๏ธโƒฃ Open API ์™€ OpenAPI ?

(1) Open API

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


(2) OpenAPI

๋ฐ˜๋ฉด์— Open API ์™€ ๋„์–ด์“ฐ๊ธฐ ํ•œ๊ฐœ(โ€œ โ€œ) ๋ฐ–์— ์ฐจ์ด๊ฐ€ ๋‚˜์ง€ ์•Š๋Š” OpenAPI ๋Š” ๋ฌด์Šจ๋œป์ผ๊นŒ์š”?

OpenAPI ๋Š” โ€œOpenAPI Specificationโ€์˜ ์•ฝ์ž๋กœ OAS ๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ, API ์„ค๊ณ„์™€ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ์˜คํ”ˆ ํ‘œ์ค€ ํ˜•์‹์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. OpenAPI ๋Š” RESTful API๋ฅผ ๋ฌธ์„œํ™”ํ•˜๊ณ  ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ๋ช…์„ธ(Specification)๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, ์ด ๋ช…์„ธ๋Š” API์˜ ์—”๋“œํฌ์ธํŠธ, ๋งค๊ฐœ๋ณ€์ˆ˜, ์š”์ฒญ๊ณผ ์‘๋‹ต ํ˜•์‹, ๋ณด์•ˆ ์„ค์ • ๋“ฑ์„ ์„ธ๋ถ€์ ์œผ๋กœ ๊ธฐ์ˆ ํ•ฉ๋‹ˆ๋‹ค.


(3) OpenAPI Initiative (OAI)

๋ฒˆ์™ธ๋กœ OpenAPI๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋‹จ์ฒด๋„ ์žˆ๋Š”๋ฐ์š”, ๊ทธ๊ณณ์ด ๋ฐ”๋กœ OpenAPI Initiative ์ž…๋‹ˆ๋‹ค.

OpenAPI Initiative ๋Š” Linux Foundation์— ์˜ํ•ด ์ฃผ๋„๋˜๋Š” ๊ณต๊ฐœ ํ‘œ์ค€ ํ”„๋กœ์ ํŠธ๋กœ์„œ, ๋‹ค์–‘ํ•œ ์—…์ฒด์™€ ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ฐธ์—ฌํ•˜์—ฌ API ์„ค๊ณ„์™€ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•œ ํ‘œ์ค€ ํ˜•์‹์ธ OpenAPI Specification์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.


3๏ธโƒฃ TMI

๐Ÿค” OpenAPI ์™€ Swagger ๋Š” ์–ด๋–ค ๊ด€๊ณ„์ผ๊นŒ์š”?

OpenAPI๋Š” Swagger Specification ์ด๋ผ๊ณ ๋„ ์•Œ๋ ค์ ธ ์žˆ๋Š”๋ฐ์š”, OpenAPI ์™€ Swagger ๋Š” ์–ด๋–ค ๊ด€๊ณ„์ผ๊นŒ์š”?

์‚ฌ์‹ค Swagger๋Š” OpenAPI Specification์˜ ์ด์ „ ์ด๋ฆ„์ด์—ˆ์Šต๋‹ˆ๋‹ค. Swagger๋Š” 2011๋…„์— Wordnik์—์„œ ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ, RESTful API๋ฅผ ์„ค๊ณ„, ๋ฌธ์„œํ™” ๋ฐ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค ๋„๊ตฌ๋กœ์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ 2015๋…„์— Swagger๋Š” SmartBear Software์˜ ํ˜‘๋ ฅ์œผ๋กœ OpenAPI Initiative (OAI) ์— ๊ธฐ์—ฌํ•˜๊ฒŒ ๋˜์—ˆ์œผ๋ฉฐ, ์ด๋•Œ ๊ธฐ์กด์˜ Swagger ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„๊ฒƒ์ด OpenAPI Specification ์ž…๋‹ˆ๋‹ค.

์ฆ‰, ์–ด๋–ป๊ฒŒ๋ณด๋ฉด OpenAPI Specification์€ Swagger Specification์˜ ํ›„์† ๋ฒ„์ „์ด๋ผ๊ณ ๋„ ๋ณผ ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค.