๐Ÿ”™๋’ค๋กœ๊ฐ€๊ธฐ

์Šค์›จ๊ฑฐ(Swagger)๋ž€?

Swagger๋Š” API๋ฅผ ์„ค๊ณ„, ๋นŒ๋“œ, ๋ฌธ์„œํ™”, ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ์˜คํ”ˆ์†Œ์Šค ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. Swagger๋Š” ์›น ์„œ๋น„์Šค์™€ ๊ฐ™์€ RESTful API๋ฅผ ์„ค๊ณ„ํ•˜๊ณ , ํ”„๋กœํ† ํƒ€์ž…์„ ๋งŒ๋“ค๊ณ , ๋ฌธ์„œํ™”ํ•˜๊ณ , ํ…Œ์ŠคํŠธํ•˜๋„๋ก ๋„์™€์ค€๋‹ค.

Swagger๋Š” ํ”„๋กœ์ ํŠธ์˜ API๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๊ณ , API๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€, ์–ด๋–ค ๊ฐ’๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€, ์–ด๋–ค ์ œ์•ฝ ์‚ฌํ•ญ๋“ค์ด ์žˆ๋Š”์ง€ ๋“ฑ์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. ์ด๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ API์— ๋Œ€ํ•œ ์‹ฌ์ธต์ ์ธ ์ดํ•ด ์—†์ด๋„ API์˜ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.

Swagger์˜ ๋‘ ๊ฐ€์ง€ ์š”์†Œ

  1. Swagger Editor: ์ด๋Š” ์›น ๊ธฐ๋ฐ˜ ์—๋””ํ„ฐ๋กœ, ์‚ฌ์šฉ์ž๊ฐ€ Swagger๋ฅผ ์ด์šฉํ•ด API๋ฅผ ์ •์˜ํ•˜๊ณ , ๊ทธ ์ •์˜์— ๋”ฐ๋ผ API๋ฅผ ๋””์ž์ธํ•˜๊ณ , ๊ทธ๋ฆฌ๊ณ  API์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , API๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๋„๊ตฌ์ด๋‹ค.
  2. Swagger UI: ์ด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ Swagger๋ฅผ ์ด์šฉํ•ด ์ƒ์„ฑํ•œ API ๋ฌธ์„œ๋ฅผ ์›น ํŽ˜์ด์ง€ ํ˜•ํƒœ๋กœ ๋ณด์—ฌ์ฃผ๊ณ , ๋ธŒ๋ผ์šฐ์ €์—์„œ API๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•ด๋ณด๊ณ  ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋„๊ตฌ์ด๋‹ค.

์™œ Swagger๊ฐ€ ํ•„์š”ํ•œ๊ฐ€?

  1. ๋ฌธ์„œํ™”
  2. API ๋””์ž์ธ ๋ฐ ํ…Œ์ŠคํŠธ
  3. ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ
  4. ํ‘œ์ค€ํ™”
  5. ํ˜ธํ™˜์„ฑ
  6. ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์ง€์›