Validator OpenAPI
Tempel dokumen OpenAPI atau Swagger, dalam JSON atau YAML, dan validator ini memeriksa struktur intinya. Ia memastikan dokumen dapat diurai, membawa bidang versi openapi atau swagger, objek info dengan judul dan versi, serta objek paths, lalu menandai path yang tidak diawali garis miring dan metode HTTP yang tidak dikenal. Ini adalah pemeriksaan struktur yang cepat, bukan validator JSON Schema lengkap.
Bagaimana proses validasi berjalan
-
1
Tempel dokumennya
JSON atau YAML, untuk OpenAPI 2 (Swagger) atau OpenAPI 3.
-
2
Urai dokumennya
Validator mengurai dokumen sebagai JSON, dan beralih ke penguraian YAML jika itu gagal.
-
3
Periksa bidang yang wajib
Ia memastikan ada bidang versi `openapi` atau `swagger`, objek `info` dengan `title` dan `version`, serta objek `paths`.
-
4
Pindai path-nya
Setiap path diperiksa apakah diawali garis miring, dan setiap kunci operasi diperiksa terhadap metode HTTP yang dikenal.
-
5
Baca laporannya
Galat menggagalkan validitas; peringatan menyoroti path tanpa garis miring di depan dan metode yang tidak dikenal.
Apa yang diperiksa validator ini
| Pemeriksaan | Hasil jika gagal |
|---|---|
| Dokumen terurai sebagai JSON atau YAML | Galat |
Ada bidang openapi atau swagger |
Galat |
Ada objek info |
Galat |
Ada info.title |
Galat |
Ada info.version |
Galat |
Ada objek paths |
Galat |
Setiap path diawali / |
Peringatan |
| Kunci operasi adalah metode HTTP dikenal | Peringatan |
Dokumen yang lolos setiap galat dilaporkan sebagai valid secara struktural. Peringatan tidak menggagalkan validitas; ia menyoroti hal-hal yang layak diperbaiki.
Apa yang tidak diperiksa
Ini pemeriksaan struktur, bukan validator spesifikasi lengkap. Ia tidak:
- memvalidasi setiap node terhadap JSON Schema resmi untuk versi Anda;
- menyelesaikan referensi
$refatau memastikan komponen yang dirujuknya ada; - memeriksa bahwa parameter path dideklarasikan dan digunakan secara konsisten;
- memverifikasi nilai
operationIdada atau unik; - melaporkan nomor baris untuk galat.
Untuk kedalaman itu, jalankan validator CLI khusus seperti redocly lint, swagger-cli validate, atau spectral lint. Gunakan alat ini untuk pemeriksaan cepat sebelum Anda menyimpan atau membagikan spesifikasi.
Versi OpenAPI di lapangan
| Versi | Catatan |
|---|---|
| Swagger 2.0 | Masih banyak dipakai; memakai swagger: "2.0" |
| OpenAPI 3.0.x | Lini 3.x yang paling umum |
| OpenAPI 3.1.0 | Selaras dengan JSON Schema 2020-12 |
Validator ini menerima bidang openapi (3.x) atau bidang swagger (2.0), jadi semuanya lolos pemeriksaan versi.
Dokumen minimal yang lolos
openapi: 3.0.3
info:
title: Example API
version: 1.0.0
paths:
/users:
get:
summary: List users
Setiap bidang wajib ada, satu-satunya path diawali garis miring, dan get adalah metode yang dikenal, sehingga ini dilaporkan sebagai valid secara struktural.
Pertanyaan yang Sering Diajukan
Swagger adalah nama awal spesifikasi ini, yang disumbangkan ke Linux Foundation pada 2015 dan diganti nama menjadi “OpenAPI” sejak versi 3.0. Kini “Swagger” merujuk pada perangkatnya (Swagger UI, Swagger Editor). Spesifikasinya sendiri adalah OpenAPI. Validator ini menerima bidang versi swagger (2.0) maupun openapi (3.x).
Bukan. Ia memeriksa struktur inti: bahwa dokumen dapat diurai, membawa bidang versi, objek info dengan judul dan versi, serta objek paths, dan memperingatkan path tanpa garis miring di depan serta metode yang tidak dikenal. Ia tidak memvalidasi setiap node terhadap JSON Schema resmi. Gunakan redocly lint atau spectral lint untuk itu.
Tidak. Ia tidak mengikuti referensi $ref atau memeriksa keberadaan komponen yang dirujuknya. Untuk referensi lintas berkas, gabungkan dulu dokumen dengan alat seperti redocly bundle atau swagger-cli bundle, lalu jalankan validator lengkap.
Tidak. Ia hanya memeriksa dokumen yang Anda tempel, bukan kode yang berjalan. Ia tidak bisa tahu apakah API Anda benar-benar mengembalikan apa yang dijelaskan spesifikasi. Alat pengujian kontrak seperti Dredd atau Schemathesis melakukannya.
Alat Terkait
Generator Konfigurasi Webpack
Buat webpack.config.js untuk webpack 5 dari formulir singkat: atur entry, folder output, dan mode, lalu aktifkan TypeScript, Babel, loader CSS, HtmlWebpackPlugin, dan dev server.
Referensi Tabel ASCII
Tabel ASCII lengkap dari 0 sampai 127 dengan desimal, heksadesimal, oktal, biner, dan referensi karakter numerik HTML untuk setiap karakter, termasuk kode kontrol seperti NUL, LF, dan DEL.
Validator XSD
Validasi dokumen XML terhadap skema XSD dan laporkan ketidakcocokan elemen dan tipe dengan nomor baris persis.
Referensi Karakter HTML
Daftar entitas HTML yang dapat dicari, beserta kode bernama dan kode numeriknya, serta fitur salin dengan satu klik untuk karakter khusus dan simbol.
URL Validator
Periksa apakah sintaks sebuah URL valid dan pecah menjadi scheme, host, port, path, query, dan fragment, lengkap dengan penanda absolut dan HTTPS.
XML Formatter
Pretty-print dokumen XML dengan indentasi konsisten dan tangkap kesalahan well-formedness lengkap dengan nomor baris persis.
Alat ini tersedia dalam bahasa lain
- OpenAPI-Validator [DE]
- Validateur OpenAPI [FR]
- Walidator OpenAPI [PL]
- OpenAPI 검증기 [KO]
- Trình kiểm tra OpenAPI [VI]
- Validador OpenAPI [PT]
- مدقّق OpenAPI [AR]
- Validador de OpenAPI [ES]
- ตัวตรวจสอบ OpenAPI [TH]
- OpenAPI 検証ツール [JA]
- OpenAPI-validerare [SV]
- OpenAPI-validator [NL]
- OpenAPI Validator [EN]
- Validatore OpenAPI [IT]
- Валидатор OpenAPI [RU]
- OpenAPI Doğrulayıcı [TR]
- OpenAPI 验证器 [ZH]