OpenAPI JSON Validator

Plak de inhoud van uw openapi.json of swagger.json en krijg binnen enkele seconden een structuurcontrole. De validator bevestigt dat de JSON leesbaar is, dat het versieveld aanwezig is, dat info een titel en een versie heeft en dat paths bestaat. Daarna waarschuwt hij voor opvallende padnamen en onbekende bewerkingssleutels.

Een OpenAPI JSON-bestand valideren

  1. 1

    Kopieer het bestand

    Open uw `openapi.json` en kopieer het hele document, van de openende accolade tot de sluitende.

  2. 2

    Plak het in het vak

    Plak het in het veld voor het OpenAPI- / Swagger-document. U hoeft spaties niet te verwijderen of het opnieuw op te maken.

  3. 3

    Start de controle

    Ga naar de stap met resultaten om de validatie uit te voeren.

  4. 4

    Corrigeer en herhaal

    Pas het bestand aan voor elke fout, plak het opnieuw en voer de controle opnieuw uit tot het rapport geen fouten meer toont.

Veelvoorkomende JSON-fouten die een controle laten mislukken

JSON is strikter dan YAML, dus de meeste fouten in een met de hand bewerkt bestand komen door de syntaxis en niet door het ontwerp van de API. De gebruikelijke oorzaken zijn een komma na de laatste eigenschap, enkele in plaats van dubbele aanhalingstekens, een commentaar (JSON staat dat niet toe) of een ontbrekende sluitende accolade na een lang paths-object. Een kapot bestand eindigt meestal met de melding “Kan niet als JSON of YAML worden gelezen”, of met fouten over ontbrekende velden omdat er niets bruikbaars is gelezen.

Als u alleen een parseerfout ziet, zoek dan eerst de syntaxisfout. De structuurcontroles draaien zodra het document als object kan worden gelezen.

Een uitgewerkt voorbeeld

Neem dit kleine document:

{
  "openapi": "3.0.3",
  "info": { "title": "Orders API" },
  "paths": {
    "orders": { "get": { "summary": "List orders" } }
  }
}

Het wordt gelezen, en het veld openapi en het object paths zijn aanwezig. Het rapport zou toch het volgende tonen:

Bevinding Type Reden
info.version is verplicht. Fout info heeft een titel maar geen version
Het pad ‘orders’ moet met ‘/’ beginnen. Waarschuwing De padsleutel heeft geen schuine streep vooraan

Omdat er één fout is, wordt het document niet als geldig gemeld. Voeg "version": "1.0.0" toe aan info en hernoem de sleutel naar /orders. Een tweede run haalt beide bevindingen weg.

Wat een geslaagde controle wel en niet betekent

Een schoon rapport betekent dat het skelet klopt. Het volgt geen $ref-verwijzingen, controleert geen schema’s en bevestigt niet dat elke bewerking responses heeft. Zie het als een snelle poort voordat u het bestand vastlegt, en draai daarna een volledige linter voor de diepere regels.

Een praktische werkwijze voor JSON-specificaties

Bewaar de specificatie in versiebeheer en plak ze hier vóór elke commit die paths wijzigt. Omdat de controle snel is, werkt hij als gezondheidscheck na het samenvoegen van wijzigingen van meerdere personen, wanneer dubbele sleutels of een verkeerd geplaatste accolade het waarschijnlijkst zijn. Als uw JSON door een buildscript wordt gegenereerd, plak dan de gegenereerde uitvoer en niet de sjabloon, zodat u test wat lezers werkelijk krijgen. Als het rapport schoon is, deel het bestand of geef het aan een documentatiegenerator met meer vertrouwen dat de structuur op het hoogste niveau deugt.

Veelgestelde vragen

Nee. Witruimte en inspringing maken niet uit. Plak het bestand zoals het is.

Standaard JSON staat geen komma toe na het laatste item van een object of array, dus het document kan niet als JSON worden gelezen. Verwijder de komma en voer de controle opnieuw uit.

Ja. De versiecontrole accepteert een veld openapi of een veld swagger, dus zowel Swagger 2.0- als OpenAPI 3.x-JSON-bestanden doorlopen dezelfde structuurcontrole.

Nee. Bevindingen worden als meldingen weergegeven, zoals een ontbrekend veld of een padnaam, zonder regelnummers. Zoek in uw bestand naar de sleutel die in de melding wordt genoemd.

Gerelateerde tools

Tool beschikbaar in andere talen

Handleidingen en toepassingen