본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ
IT기술/spring

[Rest] Swagger 란 Rest API 도구

by 미노드 2023. 4. 3.

Swagger란?

Swagger는 OAS(Open Api Specification)를 위한 오픈소스 프레임워크입니다. 즉, API의 문서를 자동으로 정리해주는 것 입니다.

해당 Swagger를 협업하는 개발자에게 전달하면 Path, Request, Response, 제약 조건 등을 한 번에 알 수 있습니다. API 문서 자동화 뿐만 아니라, Swagger를 통해 파라미터를 넣어보고 테스트를 진행할 수 있습니다. 

 프론트 개발자는 API에서 요구하는 Request를 작성하고, Swagger에서 직접 테스트 후 코드에 반영하곤 합니다.

 

API 문서를 작성하는 시간을 절약할 수 있고, API 정보를 실시간으로 유지할 수 있다는 장점이 존재합니다.

특히, 개인적으로 휴먼에러를 최소화할 수 있다는 점이 상당한 매리트라고 생각합니다.

 

이러한 Swagger는 다양한 Tool이 존재합니다.다음 Swagger.io 홈페이지를 보면 3가지 Tool을 제공합니다.

https://swagger.io/ 

 

API Documentation & Design Tools for Teams | Swagger

Loved by all • Big & Small Thousands of teams worldwide trust Swagger to deliver better products, faster.

swagger.io

1. Swagger Codegen

Codegen은 server stubs client SDKs를 생성할 수 있게 해줍니다. 즉, Swagger에서 정의한 설계대로 개발을 진행할 수 있도록 합니다. 모든 언어를 지원하고 있지는 않습니다.

2. Swagger Editor

Swagger Editor는 Swagger를 온라인에서 작성할 수 있는 것이 특징입니다. Cloud 환경에서 작업할 수도 있고, Editor를 다운받아서 사용할 수도 있습니다. Docker를 통해 이미지로 제공하고 있습니다.

https://editor.swagger.io/#

 

Swagger Editor

 

editor.swagger.io

3. Swagger UI

Swagger의 표준에 맞춰 UI를 작성해주는 에디터입니다.

Swagger 를 스프링 부트와 연동하여 RestAPI 운영시 관리도 가능합니다.