๐๋ค๋ก๊ฐ๊ธฐ
API ๋ฌธ์ํ๋ API๋ฅผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์๋ค์๊ฒ API ์ฌ์ฉ๋ฒ, ์๋ํฌ์ธํธ, ๋ฐ์ดํฐ ํ์ ๋ฑ์ ๋ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๊ณผ์ ์ด๋ค. API ๋ฌธ์ํ์ ๋ชฉ์ ์ ๊ฐ๋ฐ์๋ค์ด API๋ฅผ ์ฝ๊ฒ ์ดํดํ๊ณ , ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ๋๋ ๊ฒ์ด๋ค. ์ ์์ฑ๋ API๋ ๊ฐ๋ฐ ์๊ฐ์ ์ค์ด๊ณ , ์ค๋ฅ๋ฅผ ์ต์ํํ๋ฉฐ, ์ผ๊ด๋ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ๋ ๋ฐ ๋์์ด ๋๋ค.
Swagger์ OpenAPI๋ API ๋ฌธ์ํ๋ฅผ ์ํ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋๊ตฌ ๋ฐ ํ์ค์ด๋ค.
Swagger
- Swagger๋ API ๋ฌธ์ํ ๋ฐ ๋์์ธ ๋๊ตฌ๋ก, ๊ฐ๋ฐ์๋ค์ด API๋ฅผ ์๊ฐ์ ์ผ๋ก ์ค๊ณํ๊ณ , ๋ฌธ์ํํ๋ฉฐ, ํ
์คํธํ ์ ์๊ฒ ํ๋ค.
- Swagger UI๋ฅผ ์ฌ์ฉํ๋ฉด, ์น ๊ธฐ๋ฐ ์ธํฐํ์ด์ค์์ API ๋ฌธ์๋ฅผ ๋ณผ ์ ์๋ค. ๋ํ ์ค์ ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ต์ ํ์ธํ ์ ์์ด API์ ๋์์ ์ฝ๊ฒ ์ดํดํ ์ ์๋ค.
- Swagger Codegen์ ์ฌ์ฉํ๋ฉด, API ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ํด๋ผ์ด์ธํธ ๋ฐ ์๋ฒ ์ฝ๋๋ฅผ ์๋ ์์ฑํ ์ ์๋ค.
OpenAPI
- OpenAPI๋ API์ ๋ช
์ธ๋ฅผ ๊ธฐ์ ํ๊ธฐ ์ํ ํ์ค์ด๋ค. ์ด์ ์๋ Swagger ๋ช
์ธ๋ก ์๋ ค์ ธ ์์์ต๋๋ค.
- OpenAPI๋ JSON ๋๋ YAML ํ์์ผ๋ก API์ ์๋ํฌ์ธํธ, ์์ฒญ ๋ฐ ์๋ต ํ์, ์ธ์ฆ ๋ฐฉ์ ๋ฑ์ ๋ํ ์ ๋ณด๋ฅผ ๊ธฐ์ ํ๋ค.
- OpenAPI ๋ช
์ธ๋ฅผ ์ฌ์ฉํ๋ฉด, ์ฌ๋ฌ ๋๊ตฌ๋ฅผ ํ์ฉํ์ฌ API ๋ฌธ์ํ, ์ฝ๋ ์์ฑ, ํ
์คํธ ์๋ํ ๋ฑ์ ์์
์ ์ํํ ์ ์๋ค.
API ๋ฌธ์ํ๋ฅผ Swagger์ OpenAPI๋ฅผ ์ฌ์ฉํ๋ฉด, API์ ๋์์ธ, ๊ฐ๋ฐ, ํ
์คํธ, ๋ฐฐํฌ ๊ณผ์ ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ค์ API๋ฅผ ๋ ์ฝ๊ฒ ์ฌ์ฉํ๊ณ , ์๋น์ค ๊ฐ์ ํตํฉ์ ์ํํ๊ฒ ์งํํ ์ ์๋ค.