Open API ์ OpenAPI ๋?
๐ ์์ธ์ฝ์ก : ์์๋๋ฉด ์ธ๋ชจ์๋ ์ฝ๋ฉ ์กํ์ง์!
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์ ํ์ ๋ฒ์ ์ด๋ผ๊ณ ๋ ๋ณผ ์ ์๊ฒ ์ต๋๋ค.