Walidator OpenAPI 3.1

Wklej dokument OpenAPI 3.1 w formacie JSON lub YAML, aby sprawdzić jego strukturę najwyższego poziomu. Narzędzie szuka pola openapi, obiektu info z title i version oraz obiektu paths. To kontrola strukturalna, więc nie waliduje słów kluczowych schematów 3.1, a niektóre wzorce przyjazne dla 3.1 mogą dać ostrzeżenie lub błąd, o którym warto wiedzieć.

Jak sprawdzić dokument 3.1

  1. 1

    Wklej specyfikację 3.1

    Wklej dokument z wartością `openapi: 3.1.0` (lub inną wartością 3.1.x) do pola, w formacie JSON lub YAML.

  2. 2

    Uruchom sprawdzenie

    Przejdź do kroku wyników, aby zobaczyć błędy i ostrzeżenia.

  3. 3

    Przeczytaj uwagi dotyczące 3.1

    Sprawdź, czy oznaczony element to rzeczywisty błąd, czy jeden z wzorców 3.1 opisanych poniżej.

  4. 4

    Uzupełnij pełnym linterem

    Gdy struktura jest poprawna, użyj pełnego walidatora reguł JSON Schema 2020-12.

Co narzędzie robi z plikami 3.1

Wersja 3.1 dostosowuje schematy do JSON Schema 2020-12. Ten walidator w ogóle nie zagląda do wnętrza schematów. Sprawdza tylko najwyższy poziom i wpisy ścieżek, dlatego funkcje schematów 3.1, takie jak tablice typów czy const, tutaj ani nie przechodzą, ani nie zawodzą. Sama wartość wersji również nie jest sprawdzana: każde pole openapi uznawane jest za obecne.

Dwa wzorce 3.1, na które warto uważać

Wzorzec w pliku 3.1 Co pokazuje narzędzie
obiekt webhooks i brak obiektu paths Błąd: Missing ‘paths’ object.
operacja trace pod ścieżką Ostrzeżenie: Unknown method ‘trace’ on the path
$ref jako klucz elementu ścieżki Ostrzeżenie: Unknown method ‘$ref’ on the path

OpenAPI 3.1 pozwala opisać dokument wyłącznie przez webhooks i pominąć paths. To narzędzie wymaga paths, więc taki plik zostaje zgłoszony błędem, mimo że specyfikacja na to pozwala. Dodanie pustego obiektu paths: {} spełnia kontrolę.

Lista metod używana tutaj to get, post, put, patch, delete, head, options, a także parameters, summary, description i servers. Metoda trace istnieje w specyfikacji, ale nie znajduje się na tej liście, więc wywołuje ostrzeżenie, które możesz zignorować, jeśli jest zamierzone. Ostrzeżenia nie czynią dokumentu nieprawidłowym.

Przykład krok po kroku

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

Wynik: jeden błąd, “Missing ‘paths’ object.” Dodaj paths: {}, a struktura przejdzie kontrolę.

Kiedy stosować to narzędzie, a kiedy iść dalej

Tej strony użyj, aby potwierdzić, że plik 3.1 ma poprawny kształt, zanim otworzysz pull request lub udostępnisz go partnerowi. Kontrole są szybkie, a komunikaty proste. Gdy struktura jest w porządku, reguły schematów 3.1 nadal wymagają pełnego lintera, bo tam ukrywa się większość realnych błędów: niepoprawne deklaracje typów, zepsute referencje i brakujące definicje odpowiedzi. Traktuj oba kroki jako uzupełniające się, a nie jako alternatywę.

Jeśli oflagowane ostrzeżenie jest zamierzone, na przykład trace, opisz to w pull requeście, aby recenzenci nie zastanawiali się, o co chodzi. Ostrzeżenia nigdy nie zmieniają wyniku poprawności, więc można je zostawić. Błędy trzeba usunąć przed udostępnieniem pliku.

Najczęściej zadawane pytania

Nie. Nie zagląda do obiektów schematów, więc słowa kluczowe JSON Schema 2020-12 nie są sprawdzane. Obejmuje wyłącznie strukturę najwyższego poziomu i wpisy ścieżek.

Kontrola wymaga obiektu paths. Plik 3.1 zawierający tylko webhooks go nie ma, więc zgłasza błąd brakującego paths. Dodaj pusty paths: {}, aby przejść kontrolę.

Nie. Sprawdza tylko, czy pole openapi lub swagger istnieje, a nie jaka jest jego wartość.

Niekoniecznie. trace to poprawna operacja w specyfikacji. Narzędzie po prostu nie umieszcza jej na liście znanych metod.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach

Poradniki i zastosowania