Swagger 2.0 검증기

Swagger 2.0 정의를 JSON 또는 YAML로 붙여 넣으면 swagger 버전 필드, title과 version이 있는 info 객체, paths 객체가 있는지 확인할 수 있습니다. 경로 항목은 앞쪽 슬래시가 있는지, 표준 작업이 아닌 키가 있는지 검사합니다.

Swagger 2.0 파일을 확인하는 방법

  1. 1

    정의 복사

    `swagger: "2.0"` 줄부터 시작해서 `swagger.json` 또는 `swagger.yaml` 전체를 복사하세요.

  2. 2

    붙여 넣기

    OpenAPI / Swagger 문서 입력란에 붙여 넣으세요.

  3. 3

    검사 실행

    결과 단계로 넘어가 오류와 경고를 확인하세요.

  4. 4

    수정하고 다시 검사

    파일에서 수정을 적용하고, 보고서가 깨끗해질 때까지 새 버전을 붙여 넣으세요.

Swagger 2.0 검사를 통과하는 조건

2.0 파일에서는 최상위 swagger 키가 있으면 버전 검사가 충족됩니다. 도구는 그 값이 "2.0"인지 확인하지 않으므로 잘못된 번호는 잡아내지 못합니다. 버전 외에도 info.title, info.version, paths 객체가 필요합니다.

host, basePath, schemes, definitions, securityDefinitions처럼 Swagger 2.0에만 있는 필드는 검사하지 않습니다. host가 없거나 definitions 블록이 깨져 있어도 보고되지 않습니다.

예제

{
  "swagger": "2.0",
  "info": { "title": "Shop API", "version": "1.0" },
  "paths": {
    "/products": {
      "get": { "summary": "List products" },
      "x-internal": true
    }
  }
}

버전 필드, info, paths가 모두 있으므로 오류는 없습니다. 보고서에는 경고 하나가 표시됩니다.

발견 사항 유형 이유
Unknown method ‘x-internal’ on /products. 경고 이 키는 표준 작업도 아니고 경로 항목 필드도 아님

경고는 문서의 유효성을 막지 않으므로 이 문서는 여전히 유효하다고 보고됩니다. x-internal 같은 벤더 확장 키는 Swagger 2.0에서도 허용되므로 그대로 두어도 됩니다.

2.0에서 마이그레이션하기

OpenAPI 3.x로 옮길 계획이라면, 변환된 파일을 같은 입력란에 붙여 넣고 결과를 비교할 수 있습니다. 검사는 같고, swagger 필드 대신 openapi 필드를 사용합니다. 실제 마이그레이션 작업에는 완전한 변환기와 린터를 사용하세요. 이 도구는 definitions나 host 설정을 변환하지 않기 때문입니다.

간단한 검사로 충분한 경우

Swagger 2.0 정의는 저장소에서 여러 해 동안 남아 있으며 손으로 편집되는 경우가 많습니다. 물려받은 파일이 있을 때, 도구가 파일을 불러오지 못해 필드 누락을 의심할 때, 두 파일을 병합한 뒤 결과에 info와 paths 섹션이 여전히 있는지 확인하고 싶을 때 빠른 구조 검사가 유용합니다. definitions와 보안 설정을 포함한 2.0의 전체 규칙은 전용 린터로 확인하세요.

깨끗한 보고서는 구조에 관한 진술일 뿐이라는 점을 기억하세요. 응답이 없는 작업, 잘못된 매개변수 유형, 해결되지 않은 참조는 이 검사의 범위 밖입니다. 문서화 도구나 코드 생성 도구에서도 파일을 테스트하세요.

자주 묻는 질문

아니요. swagger 또는 openapi 필드가 있는지만 확인하고, 그 내용은 확인하지 않습니다.

아니요. 버전 필드, info 객체, paths 객체, 각 경로 아래의 항목만 검사합니다.

네. 텍스트는 먼저 JSON으로 읽히고, 실패하면 YAML로 읽힙니다. 붙여 넣을 때 들여쓰기는 그대로 유지하세요.

경로 수준의 parameters, summary, description, servers는 허용되는 키 목록에 포함되어 있으므로, 알 수 없는 메서드 경고가 나타나지 않습니다.

관련 도구

이 도구는 다른 언어로도 제공됩니다

사용 가이드와 활용 사례