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
ASCII Tablosu Referansı
NUL, LF ve DEL dahil her kod için ondalık, onaltılık, sekizlik ve ikili değerlerle HTML sayısal karakter başvurusu gösterimini sunan tam ASCII tablosu.
HTML Karakter Referansı
HTML varlıklarının aranabilir listesi; adlandırılmış ve sayısal kodlarıyla birlikte özel karakter ve semboller için tek tıkla kopyalama.
Klavye kısayolları başvurusu
macOS, Windows ve Linux’ta VS Code, Chrome ve GNU Readline kullanan Bash için belgelenmiş varsayılan kısayolları arayın.
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.
E-posta Doğrulayıcı
Bir e-posta adresini doğrulayın: RFC 5322 sözdizimi kontrolü, canlı MX kaydı sorgulama, ayrıca yerel kısım, alan adı ve uzunluk bilgileri. Hiçbir e-posta gönderilmez.
EditorConfig Oluşturucu
Girinti stili ve boyutu, satır sonu, karakter kümesi ve boşluk kurallarınızla bir .editorconfig dosyası oluşturarak IDE ve editörler arasında tutarlı biçimlendirme sağlayın.
Araç diğer dillerde mevcuttur
- OpenAPI 검증기 [KO]
- 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]