OpenAPI YAML-validerare

Klistra in din openapi.yaml så kontrollerar validerraren de delar som varje specifikation behöver: ett versionsfält, ett info-objekt med title och version samt ett paths-objekt. Den varnar också för sökvägsnycklar utan inledande snedstreck och för operationsnycklar som den inte känner igen.

Så validerar du en OpenAPI YAML-fil

  1. 1

    Kopiera YAML-koden

    Kopiera hela innehållet i din `openapi.yaml` eller `swagger.yaml` och behåll indragen exakt som den är.

  2. 2

    Klistra in i fältet

    Klistra in den i rutan för OpenAPI- eller Swagger-dokument. I YAML är indrag struktur, så skriv inte om det och radbryt inte om det.

  3. 3

    Kör valideringen

    Gå vidare till resultatsteget och läs felen och varningarna.

  4. 4

    Rätta och kontrollera igen

    Åtgärda varje påpekat fel i din fil, klistra in den nya versionen och kör igen.

Varför indrag påverkar resultatet

I YAML avgör nästlingen av nycklar vilket objekt ett fält hör till. Om version står på samma indrag som info i stället för en nivå under, är dokumentet fortfarande läsbart YAML, men info.version saknas och kontrollen rapporterar det. Samma sak gäller för paths: om en sökvägsnyckel av misstag indragits under info är det översta objektet paths borta.

Använd mellanslag, inte tabbar, och håll en konsekvent nivå, till exempel två mellanslag per nivå.

Ett genomgånget exempel

openapi: 3.0.3
info:
  title: Pets API
paths:
  /pets:
    get:
      summary: List pets

Versionsfältet, info.title och paths finns alla, och /pets börjar med ett snedstreck med get som känd metod. Det enda som saknas är info.version. Rapporten listar:

Resultat Typ
info.version is required. Fel

Lägg till version: 1.0.0 under info, indragen två mellanslag, så redovisas dokumentet som strukturellt giltigt.

Håll dokumenten enkla för en pålitlig läsning

Kontrollen läser vanliga YAML-mappningar bäst: enkla nyckel: värde-rader med konsekvent indrag. Om ett dokument med avancerade YAML-funktioner, som ankare eller flerradiga block, redovisas som oläsbart eller visar fält som saknas, prova en JSON-kopia av samma specifikation för att se om felet ligger i innehållet eller i YAML-syntaxen.

Ett rent resultat bekräftar bara skelettet. Det löser inte $ref-länkar och kontrollerar inte scheman.

En praktisk arbetsgång för YAML-specifikationer

Redigera i små steg och kontrollera om. När du lägger till en ny sökväg eller flyttar ett block klistrar du in filen igen, så att ett felaktigt indrag fångas medan ändringen är färsk. När du delar upp en stor specifikation i flera filer klistrar du in den sammanslagna versionen, eftersom kontrollen bara läser den text du ger den och inte läser in andra filer. Kopiera från din editor i stället för från en renderad webbsida, eftersom webbsidor kan ersätta mellanslag och citattecken med look-alike-tecken som ändrar hur YAML tolkas.

Kom ihåg att rapporten bara tar upp det kontrollen kan se. Ett rent resultat för en YAML-fil betyder att skelettet på översta nivån är rätt, inte att varje operation, schema eller referens inuti den är det.

Vanliga frågor

Mellanslag. YAML godtar inte tabbar för indrag, och en tabb kan göra dokumentet oläsbart eller flytta fält till fel nivå.

Oftast står fältet med fel indrag, så att det hör till ett annat objekt än du tänkt. Jämför dess indrag med förälderns nyckel.

Kontrollen letar bara efter att fältet openapi eller swagger finns, inte efter dess värde, så både citerade och ociterade versioner godkänns. Att citera "2.0" för Swagger är ändå en bra vana.

Ja. Dokumentet läses först som JSON och som YAML om det misslyckas, så båda formaten fungerar i samma fält.

Relaterade verktyg

Verktyget finns på andra språk

Guider och användningsområden