OpenAPI 검증기
OpenAPI 또는 Swagger 문서를 JSON이나 YAML로 붙여넣으면 이 검증기가 핵심 구조를 점검합니다. 문서가 파싱되는지, openapi 또는 swagger 버전 필드가 있는지, 제목과 버전을 담은 info 객체가 있는지, paths 객체가 있는지 확인한 다음, 슬래시로 시작하지 않는 path와 알 수 없는 HTTP 메서드를 표시합니다. 이것은 전체 JSON Schema 검증기가 아니라 빠른 구조 점검입니다.
검증은 어떻게 진행되나
-
1
문서를 붙여넣기
OpenAPI 2(Swagger) 또는 OpenAPI 3용 JSON 또는 YAML.
-
2
문서 파싱
검증기는 문서를 JSON으로 파싱하고, 실패하면 YAML 파싱으로 되돌아갑니다.
-
3
필수 필드 확인
`openapi` 또는 `swagger` 버전 필드, `title`과 `version`을 담은 `info` 객체, 그리고 `paths` 객체가 있는지 확인합니다.
-
4
path 스캔
각 path에 앞 슬래시가 있는지 확인하고, 각 operation 키를 알려진 HTTP 메서드와 대조합니다.
-
5
보고서 읽기
오류는 유효성을 막고, 경고는 앞 슬래시가 없는 path와 알 수 없는 메서드를 짚어 줍니다.
이 검증기가 점검하는 것
| 점검 항목 | 실패 시 결과 |
|---|---|
| 문서가 JSON 또는 YAML로 파싱됨 | 오류 |
openapi 또는 swagger 필드 존재 |
오류 |
info 객체 존재 |
오류 |
info.title 존재 |
오류 |
info.version 존재 |
오류 |
paths 객체 존재 |
오류 |
각 path가 /로 시작 |
경고 |
| operation 키가 알려진 HTTP 메서드 | 경고 |
모든 오류를 통과한 문서는 구조적으로 유효하다고 보고됩니다. 경고는 유효성을 막지 않으며, 고칠 가치가 있는 부분을 짚어 줍니다.
이 검증기가 점검하지 않는 것
이것은 구조 점검이지, 전체 사양 검증기가 아닙니다. 이 검증기는 다음을 하지 않습니다:
- 사용 중인 버전의 공식 JSON Schema에 대해 모든 노드를 검증하지 않습니다;
$ref참조를 해석하거나 그것이 가리키는 컴포넌트가 존재하는지 확인하지 않습니다;- path 매개변수가 일관되게 선언되고 사용되는지 확인하지 않습니다;
operationId값이 있는지 또는 고유한지 확인하지 않습니다;- 오류의 줄 번호를 보고하지 않습니다.
그런 수준이 필요하면 redocly lint, swagger-cli validate, spectral lint 같은 전용 CLI 검증기를 실행하세요. 이 도구는 사양을 커밋하거나 공유하기 전에 빠르게 점검하는 데 사용하세요.
실제로 쓰이는 OpenAPI 버전
| 버전 | 참고 |
|---|---|
| Swagger 2.0 | 여전히 널리 배포됨; swagger: "2.0" 사용 |
| OpenAPI 3.0.x | 가장 일반적인 3.x 계열 |
| OpenAPI 3.1.0 | JSON Schema 2020-12과 정렬됨 |
이 검증기는 openapi 필드(3.x)나 swagger 필드(2.0) 중 하나를 받아들이므로, 이 모두가 버전 확인을 통과합니다.
통과하는 최소 문서
openapi: 3.0.3
info:
title: Example API
version: 1.0.0
paths:
/users:
get:
summary: List users
모든 필수 필드가 존재하고, 하나뿐인 path가 슬래시로 시작하며, get이 알려진 메서드이므로 이 문서는 구조적으로 유효하다고 보고됩니다.
자주 묻는 질문
Swagger는 이 사양의 원래 이름으로, 2015년 리눅스 재단에 기증되었고 버전 3.0부터 “OpenAPI”로 이름이 바뀌었습니다. 현재 “Swagger”는 도구(Swagger UI, Swagger Editor)를 가리킵니다. 사양 자체는 OpenAPI입니다. 이 검증기는 swagger(2.0)와 openapi(3.x) 버전 필드를 모두 받아들입니다.
아니요. 핵심 구조를 점검합니다: 문서가 파싱되는지, 버전 필드와 제목·버전을 담은 info 객체, 그리고 paths 객체가 있는지 확인하고, 앞 슬래시가 없는 path와 알 수 없는 메서드를 경고합니다. 공식 JSON Schema에 대해 모든 노드를 검증하지는 않습니다. 그 용도로는 redocly lint나 spectral lint를 사용하세요.
아니요. $ref 참조를 따라가거나 그것이 가리키는 컴포넌트가 존재하는지 확인하지 않습니다. 파일 간 참조는 redocly bundle이나 swagger-cli bundle 같은 도구로 문서를 먼저 번들링한 다음 전체 검증기를 실행하세요.
아니요. 붙여넣은 문서만 검사하며, 실행 중인 코드는 검사하지 않습니다. 여러분의 API가 사양이 설명한 대로 실제로 반환하는지는 알 수 없습니다. Dredd나 Schemathesis 같은 계약 테스트 도구가 그 일을 합니다.
관련 도구
ASCII 표 참조
NUL, LF, DEL 같은 제어 문자를 포함해 모든 문자에 대한 10진수, 16진수, 8진수, 2진수, HTML 숫자 문자 참조를 담은 0부터 127까지의 전체 ASCII 표.
HTML 문자 참조
HTML 엔티티의 검색 가능한 목록, 각 엔티티의 이름 및 숫자 코드, 그리고 특수 문자 및 기호에 대한 1클릭 복사 기능을 제공합니다.
키보드 단축키 참고표
macOS, Windows, Linux에서 VS Code, Chrome, GNU Readline을 쓰는 Bash의 문서화된 기본 단축키를 검색합니다.
보색 찾기
어떤 입력에 대해서도 보색을 찾습니다. HSL 반대 색, 분할 보색 쌍, 그리고 접근성 있는 조합 제안을 반환합니다.
색상 틴트 생성기
기준 색의 밝은 틴트를 생성합니다. 디자인 시스템 토큰, 배경, 호버 상태를 위한 3-20단계 스케일.
색상 혼합기
두 HEX 색상을 2-20개의 균등한 색상 견본으로 섞습니다. 양 끝 색상을 포함해 각 중간 색상을 대문자 HEX 코드로 확인하세요.
이 도구는 다른 언어로도 제공됩니다
- OpenAPI-validerare [SV]
- مدقّق OpenAPI [AR]
- Walidator OpenAPI [PL]
- OpenAPI-Validator [DE]
- Validateur OpenAPI [FR]
- ตัวตรวจสอบ OpenAPI [TH]
- Validator OpenAPI [ID]
- OpenAPI-validator [NL]
- OpenAPI 検証ツール [JA]
- Trình kiểm tra OpenAPI [VI]
- Validador OpenAPI [PT]
- Validador de OpenAPI [ES]
- OpenAPI Validator [EN]
- Validatore OpenAPI [IT]
- OpenAPI 验证器 [ZH]
- Валидатор OpenAPI [RU]
- OpenAPI Doğrulayıcı [TR]