Coding/Spring(Boot)

Swagger란?

민톨이 2025. 1. 9. 17:40
728x90

Swagger란 무엇인가

Swagger는 RESTful API 설계, 문서화, 테스트, 모니터링을 쉽게 만들기 위한 오픈 소스 툴셋. API의 설계를 시각적으로 표현하고, 클라이언트-서버 간의 상호작용을 명확하게 정의하는 데 사용된다

 


Swagger의 주요 동작 원리

  • Swagger는 RESTful API를 명세서로 정의한다.
  • 명세서가 포함하는 정보
    • API 경로 및 HTTP 메서드 (GET, POST, PUT, DELETE 등)
    • 요청 파라미터 및 응답 데이터 구조
    • HTTP 상태 코드 (200, 404, 500 등)
    • 인증 방식 (Bearer Token, API Key 등)
    • API의 설명 및 예제

Swagger의 주요 구성 요소

  1. Swagger UI
    • API 문서를 시각적으로 확인할 수 있는 웹 기반 UI.
    • REST API의 엔드포인트, 요청/응답 형식, 예제를 보여주며, API 테스트도 가능.
    • 클라이언트 개발자가 API를 쉽게 이해하고 사용하게 도와줌.
  2. Swagger Editor
    • API 명세를 작성하고 편집할 수 있는 웹 기반 편집기.
    • YAML 또는 JSON 형식으로 OpenAPI Specification(OAS)을 작성.
  3. Swagger Codegen
    • Swagger/OpenAPI 문서를 기반으로 클라이언트 SDK나 서버 스텁 코드를 자동으로 생성.
    • 다양한 프로그래밍 언어를 지원(Java, Python, JavaScript, C# 등).
  4. Swagger Hub
    • API 설계 및 협업 플랫폼.
    • 팀 단위로 API 명세를 관리하고 버전을 컨트롤할 수 있음.