OpenAPI 3.1 Doğrulayıcı

Üst düzey yapısını kontrol etmek için bir OpenAPI 3.1 belgesini JSON veya YAML olarak yapıştırın. Araç openapi alanını, title ve version içeren bir info nesnesini ve bir paths nesnesini arar. Bu bir yapısal kontroldür, dolayısıyla 3.1 şema anahtar sözcüklerini doğrulamaz. Bazı 3.1 uyumlu kalıplar ise bilmeniz gereken bir uyarı veya hata üretebilir.

Bir 3.1 belgesi nasıl kontrol edilir

  1. 1

    3.1 belgenizi yapıştırın

    Belgeyi, alana JSON veya YAML olarak `openapi: 3.1.0` (ya da başka bir 3.1.x değeri) ile birlikte yapıştırın.

  2. 2

    Kontrolü çalıştırın

    Hataları ve uyarıları görmek için sonuç adımına geçin.

  3. 3

    3.1 notlarını okuyun

    İşaretlenen öğenin gerçek bir hata mı yoksa aşağıda açıklanan 3.1 kalıplarından biri mi olduğunu kontrol edin.

  4. 4

    Tam bir linter ile devam edin

    Yapı temiz olduğunda JSON Schema 2020-12 kuralları için eksiksiz bir doğrulayıcı kullanın.

Bu araç 3.1 dosyalarıyla ne yapar

Sürüm 3.1, şemaları JSON Schema 2020-12 ile hizalar. Bu doğrulayıcı şemaların içini hiç okumaz. Yalnızca üst düzeyi ve yol girdilerini inceler; dolayısıyla tür dizileri veya const gibi 3.1 şema özellikleri burada ne geçer ne de kalır. Sürüm değerinin kendisi de kontrol edilmez: her openapi alanı mevcut sayılır.

Dikkat edilmesi gereken iki 3.1 kalıbı

3.1 dosyanızdaki kalıp Aracın bildirdiği
webhooks nesnesi ve paths nesnesinin olmaması Hata: Missing ‘paths’ object.
Bir yol altındaki trace işlemi Uyarı: Unknown method ‘trace’ on the path
Bir yol öğesinde anahtar olarak $ref Uyarı: Unknown method ‘$ref’ on the path

OpenAPI 3.1, bir belgenin yalnızca webhook’ları tanımlamasına ve paths alanını atlamasına izin verir. Bu araç paths alanını zorunlu tuttuğu için, spesifikasyon buna izin verse de böyle bir dosya hatayla bildirilir. Boş bir paths: {} nesnesi eklemek kontrolü geçirir.

Buradaki metot listesi get, post, put, patch, delete, head, options ile parameters, summary, description ve servers alanlarından oluşur. trace metodu spesifikasyonda vardır ama bu listede yer almaz; bu nedenle bilerek kullandıysanız göz ardı edebileceğiniz bir uyarı üretir. Uyarılar belgeyi geçersiz kılmaz.

Çalışılmış bir örnek

openapi: 3.1.0
info:
  title: Events API
  version: 2.0.0
webhooks:
  newEvent:
    post:
      summary: Event delivered

Sonuç: bir hata, “Missing ‘paths’ object.” paths: {} ekleyin ve yapı kontrolü geçer.

Bunu ne zaman kullanmalı, ne zaman daha ileri gitmeli

Bir pull request açmadan veya bir iş ortağıyla paylaşmadan önce 3.1 dosyasının doğru biçimde olduğunu doğrulamak için bu sayfayı kullanın. Kontroller hızlıdır ve mesajlar açıktır. Yapı doğru olduğunda 3.1 şema kuralları yine de tam bir linter gerektirir, çünkü gerçek hataların çoğu oradadır: geçersiz tür tanımları, bozuk referanslar ve eksik yanıt tanımları. İki adımı alternatif değil, birbirini tamamlayan adımlar olarak görün.

trace gibi bilerek bıraktığınız bir uyarı varsa, incelemecilerin merak etmemesi için pull request’inize not düşün. Uyarılar geçerli sonucu asla değiştirmez, bu yüzden bırakılmaları güvenlidir. Paylaşmadan önce çözülmesi gereken öğeler hatalardır.

Sık Sorulan Sorular

Hayır. Şema nesnelerinin içine bakmaz, bu yüzden JSON Schema 2020-12 anahtar sözcükleri kontrol edilmez. Yalnızca üst düzey yapıyı ve yol girdilerini kapsar.

Kontrol bir paths nesnesi gerektirir. Yalnızca webhook içeren bir 3.1 dosyasında bu nesne yoktur, bu yüzden eksik paths hatası verir. Geçmek için boş bir paths: {} ekleyin.

Hayır. Yalnızca bir openapi veya swagger alanının var olup olmadığını kontrol eder, değerinin ne olduğunu değil.

Mutlaka değil. trace, spesifikasyonda geçerli bir işlemdir. Araç yalnızca onu bilinen metotlar listesine dahil etmez.

İlgili Araçlar

Araç diğer dillerde mevcuttur

Rehberler ve kullanım örnekleri