OpenAPI Doğrulayıcı
Bir OpenAPI veya Swagger belgesini, JSON ya da YAML olarak yapıştırın; bu doğrulayıcı temel yapısını kontrol eder. Belgenin ayrıştırıldığını, openapi veya swagger sürüm alanı taşıdığını, başlık ve sürüm içeren bir info nesnesi ve bir paths nesnesi bulundurduğunu doğrular, ardından eğik çizgiyle başlamayan yolları ve bilinmeyen HTTP yöntemlerini işaretler. Bu, tam bir JSON Schema doğrulayıcısı değil, hızlı bir yapısal kontroldür.
Doğrulama nasıl çalışır
-
1
Belgeyi yapıştırın
OpenAPI 2 (Swagger) veya OpenAPI 3 için JSON ya da YAML.
-
2
Ayrıştırın
Doğrulayıcı belgeyi JSON olarak ayrıştırır ve bu başarısız olursa YAML ayrıştırmasına geri döner.
-
3
Zorunlu alanları kontrol edin
`openapi` veya `swagger` sürüm alanını, `title` ve `version` içeren bir `info` nesnesini ve bir `paths` nesnesini doğrular.
-
4
Yolları tarayın
Her yol, baştaki eğik çizgi için kontrol edilir ve her işlem anahtarı bilinen HTTP yöntemleriyle karşılaştırılır.
-
5
Raporu okuyun
Hatalar geçerliliği engeller; uyarılar, baştaki eğik çizgisi olmayan yollara ve bilinmeyen yöntemlere işaret eder.
Bu doğrulayıcının kontrol ettikleri
| Kontrol | Başarısız olursa sonuç |
|---|---|
| Belge JSON veya YAML olarak ayrıştırılır | Hata |
openapi veya swagger alanı var |
Hata |
info nesnesi var |
Hata |
info.title var |
Hata |
info.version var |
Hata |
paths nesnesi var |
Hata |
Her yol / ile başlar |
Uyarı |
| İşlem anahtarları bilinen HTTP yöntemleri | Uyarı |
Her hatayı geçen bir belge, yapısal olarak geçerli diye raporlanır. Uyarılar geçerliliği engellemez; düzeltmeye değer noktalara dikkat çeker.
Kontrol etmedikleri
Bu, tam bir belirtim doğrulayıcısı değil, yapısal bir kontroldür. Şunları yapmaz:
- her düğümü, sürümünüz için resmi JSON Schema’ya karşı doğrulamaz;
$refreferanslarını çözmez ya da işaret ettikleri bileşenlerin var olduğunu doğrulamaz;- yol parametrelerinin tutarlı biçimde bildirildiğini ve kullanıldığını denetlemez;
operationIddeğerlerinin var olduğunu ya da benzersiz olduğunu doğrulamaz;- hataların satır numaralarını bildirmez.
Bu derinlik için redocly lint, swagger-cli validate ya da spectral lint gibi özel bir CLI doğrulayıcısı çalıştırın. Bu aracı, bir belirtimi işlemeden (commit) veya paylaşmadan önce hızlı bir sağlamlık kontrolü için kullanın.
Gerçek dünyadaki OpenAPI sürümleri
| Sürüm | Notlar |
|---|---|
| Swagger 2.0 | Hâlâ yaygın olarak konuşlandırılıyor; swagger: "2.0" kullanır |
| OpenAPI 3.0.x | En yaygın 3.x hattı |
| OpenAPI 3.1.0 | JSON Schema 2020-12 ile hizalı |
Bu doğrulayıcı, openapi alanını (3.x) ya da swagger alanını (2.0) kabul eder, dolayısıyla bunların tümü sürüm kontrolünü geçer.
Geçen minimal bir belge
openapi: 3.0.3
info:
title: Example API
version: 1.0.0
paths:
/users:
get:
summary: List users
Zorunlu alanların tümü var, tek yol eğik çizgiyle başlıyor ve get bilinen bir yöntem, dolayısıyla bu belge yapısal olarak geçerli diye raporlanır.
Sık Sorulan Sorular
Swagger, belirtimin özgün adıydı; 2015’te Linux Foundation’a bağışlandı ve 3.0 sürümünden itibaren “OpenAPI” olarak yeniden adlandırıldı. “Swagger” artık araçlara (Swagger UI, Swagger Editor) atıfta bulunur. Belirtimin kendisi OpenAPI’dir. Bu doğrulayıcı hem swagger (2.0) hem de openapi (3.x) sürüm alanını kabul eder.
Hayır. Temel yapıyı kontrol eder: belgenin ayrıştırıldığını, bir sürüm alanı, başlık ve sürüm içeren bir info nesnesi ve bir paths nesnesi taşıdığını doğrular ve baştaki eğik çizgisi olmayan yollar ile bilinmeyen yöntemler için uyarır. Her düğümü resmi JSON Schema’ya karşı doğrulamaz. Bunun için redocly lint veya spectral lint kullanın.
Hayır. $ref referanslarını izlemez ya da işaret ettikleri bileşenlerin var olduğunu kontrol etmez. Dosyalar arası referanslar için, belgeyi önce redocly bundle veya swagger-cli bundle gibi bir araçla paketleyin, ardından tam bir doğrulayıcı çalıştırın.
Hayır. Yalnızca yapıştırdığınız belgeyi inceler, çalışan kodunuzu değil. API’nizin belirtimin anlattığını gerçekten döndürüp döndürmediğini göremez. Dredd veya Schemathesis gibi sözleşme testi araçları bunu yapar.
İlgili Araçlar
FPS Sayacı
requestAnimationFrame ile tarayıcı FPS değerini ölçün: yumuşatma, en düşük ve en yüksek kare hızı, uyarı eşiği ve isteğe bağlı grafik. Yerel çalışır, yükleme ve API yoktur.
Webpack Yapılandırma Oluşturucu
Saf JavaScript, React veya Vue için webpack 5 uyumlu bir webpack.config.js oluşturun: TypeScript, Babel, CSS veya Sass, görseller, HtmlWebpackPlugin, geliştirme sunucusu ve npm install satırı.
Kurgusal telefon numarası oluşturucu
Beş ülkede resmen ayrılmış aralıklardan 50 adede kadar kurgusal numara üretin.
Tamamlayıcı Renk Bulucusu
Her girdi için tamamlayıcı renk belirleyin. HSL açısından tersi renk, bölünmüş tamamlayıcı çifti ve erişilebilir kombinasyonlar için öneriler geri verir.
Dosya Boyutu Dönüştürücü
Bayt, KB, MB, GB, TB ve ikili IEC birimleri (KiB, MiB, GiB, TiB) arasında, ondalık ve ikiliyi dilediğiniz gibi birleştirerek dönüşüm yapın.
Telefon numarası doğrulayıcı
Telefon numarasının ülkeye göre yapısını denetleyin; bölge, tür, E.164, uluslararası, ulusal ve RFC 3966 biçimlerini görün.
Araç diğer dillerde mevcuttur
- OpenAPI-validator [NL]
- OpenAPI-Validator [DE]
- OpenAPI-validerare [SV]
- Validator OpenAPI [ID]
- Validador de OpenAPI [ES]
- OpenAPI 검증기 [KO]
- Trình kiểm tra OpenAPI [VI]
- ตัวตรวจสอบ OpenAPI [TH]
- مدقّق OpenAPI [AR]
- Walidator OpenAPI [PL]
- Validateur OpenAPI [FR]
- OpenAPI 検証ツール [JA]
- Validador OpenAPI [PT]
- OpenAPI Validator [EN]
- Validatore OpenAPI [IT]
- Валидатор OpenAPI [RU]
- OpenAPI 验证器 [ZH]