OpenAPI 3.1 Validator

Plak een OpenAPI 3.1-document in JSON of YAML om de structuur op het hoogste niveau te controleren. De tool zoekt naar het veld openapi, een info-object met title en version en een paths-object. Het is een structuurcontrole, dus schemasleutelwoorden van 3.1 worden niet gevalideerd, en een paar 3.1-patronen geven een waarschuwing of een fout die u moet kennen.

Een 3.1-document controleren

  1. 1

    Plak uw 3.1-spec

    Plak het document met `openapi: 3.1.0` (of een andere 3.1.x-waarde) in het veld, als JSON of YAML.

  2. 2

    Start de controle

    Ga naar de stap met resultaten om fouten en waarschuwingen te zien.

  3. 3

    Lees de 3.1-opmerkingen

    Controleer of een gemarkeerd punt een echte fout is of een van de 3.1-patronen die hieronder worden beschreven.

  4. 4

    Controleer verder met een volledige linter

    Gebruik een volledige validator voor de regels van JSON Schema 2020-12 zodra de structuur klopt.

Wat deze tool met 3.1-bestanden doet

Versie 3.1 stemt schema’s af op JSON Schema 2020-12. Deze validator kijkt helemaal niet in de schema’s. Hij inspecteert alleen het hoogste niveau en de padvermeldingen, dus 3.1-schemafuncties zoals typelijsten of const slagen hier niet en falen hier ook niet. De waarde van de versie zelf wordt niet gecontroleerd: elk veld openapi telt als aanwezig.

Twee 3.1-patronen om in de gaten te houden

Patroon in uw 3.1-bestand Wat de tool meldt
Een webhooks-object zonder paths-object Fout: object ‘paths’ ontbreekt.
Een trace-bewerking onder een pad Waarschuwing: onbekende methode ‘trace’ op het pad
$ref als sleutel van een padonderdeel Waarschuwing: onbekende methode ‘$ref’ op het pad

OpenAPI 3.1 staat toe dat een document alleen webhooks beschrijft en paths weglaat. Deze tool vereist paths, dus zo’n bestand wordt met een fout gemeld, ook al staat de specificatie het toe. Een leeg paths: {}-object voldoet aan de controle.

De methodelijst die hier wordt gebruikt bevat get, post, put, patch, delete, head, options, plus parameters, summary, description en servers. De methode trace bestaat in de specificatie maar staat niet op deze lijst, dus die geeft een waarschuwing die u kunt negeren als het bewust zo is. Waarschuwingen maken een document niet ongeldig.

Een uitgewerkt voorbeeld

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

Resultaat: één fout, “Object ‘paths’ ontbreekt.” Voeg paths: {} toe en de structuur slaagt.

Wanneer deze tool volstaat en wanneer u verder moet

Gebruik deze pagina om te bevestigen dat een 3.1-bestand goed is opgebouwd voordat u een pull request opent of het met een partner deelt. De controles zijn snel en de meldingen zijn duidelijk. Zodra de structuur klopt, hebben de schemaregels van 3.1 nog steeds een volledige linter nodig, want daar zitten de meeste echte fouten: ongeldige typedeclaraties, kapotte verwijzingen en ontbrekende responsdefinities. Beschouw de twee stappen als aanvulling op elkaar, niet als alternatieven.

Als een waarschuwing bewust is, zoals bij trace, vermeld dat dan in uw pull request, zodat reviewers er niet over hoeven na te denken. Waarschuwingen veranderen het geldige resultaat nooit, dus u kunt ze veilig laten staan. De fouten zijn de punten die u moet oplossen voordat u het bestand deelt.

Veelgestelde vragen

Nee. Hij kijkt niet in schema-objecten, dus JSON Schema 2020-12-sleutelwoorden worden niet gecontroleerd. Hij dekt alleen de structuur op het hoogste niveau en de padvermeldingen.

De controle vereist een paths-object. Een 3.1-bestand met alleen webhooks heeft die niet, dus er wordt een fout gemeld voor een ontbrekend paths-object. Voeg een leeg paths: {} toe om te slagen.

Nee. Hij controleert alleen of een veld openapi of swagger bestaat, niet wat de waarde is.

Niet noodzakelijk. trace is een geldige bewerking in de specificatie. De tool neemt die alleen niet op in zijn lijst met bekende methoden.

Gerelateerde tools

Tool beschikbaar in andere talen

Handleidingen en toepassingen