OpenAPI-validator
Dit document is groter dan 1 MB. Plak een kleiner document of splits het eerst op.
Plak eerst een OpenAPI- of Swagger-document.
Je browser heeft tijdelijke opslag geblokkeerd, dus het document kan niet worden meegenomen naar de volgende stap.
Plak een OpenAPI- of Swagger-document, in JSON of YAML, en deze validator controleert het volgens de regels van Swagger 2.0 en OpenAPI 3.0, 3.1 en 3.2. Hij bevestigt dat het document te parsen is, dat het veld openapi of swagger een ondersteunde versie bevat, dat info een titel en een versie heeft en dat paths aanwezig is waar de versie dat vereist. Daarna controleert hij elk pad en elke operatie, lost hij elke interne $ref op en zorgt hij dat geen operationId twee keer voorkomt. Het is een structuurcontrole, geen volledige JSON Schema-validator.
Hoe de validatie verloopt
-
1
Plak het document
JSON of YAML, voor OpenAPI 2 (Swagger) of OpenAPI 3.
-
2
Parse het
Een document dat met `{` of `[` begint, wordt als strikte JSON geparst, dus een ontbrekende of overbodige komma is een fout. Al het andere wordt als YAML geparst.
-
3
Controleer de vereiste velden
Hij bevestigt een ondersteunde `openapi`- of `swagger`-versie, een `info`-object met `title` en `version` en een `paths`-object (vanaf OpenAPI 3.1 kan `components` of `webhooks` die plaats innemen).
-
4
Scan de paden
Elk pad moet met een schuine streep beginnen en mag alleen de velden gebruiken die zijn versie definieert; in Swagger 2.0 en OpenAPI 3.0 moet elke operatie `responses` declareren.
-
5
Lees het rapport
Elke interne `$ref` moet naar iets in het document verwijzen en elke `operationId` moet uniek zijn. Fouten blokkeren de geldigheid; een waarschuwing somt verwijzingen naar andere bestanden op die niet zijn gevolgd.
Wat deze validator controleert
| Controle | Resultaat bij falen |
|---|---|
Document is te parsen: als strikte JSON als het met { of [ begint, anders als YAML |
Fout, met de regel om te controleren als die te bepalen is |
Versieveld openapi (3.0, 3.1 of 3.2) of swagger ("2.0") aanwezig en als string geschreven |
Fout |
info-object aanwezig |
Fout |
info.title aanwezig |
Fout |
info.version aanwezig |
Fout |
paths-object aanwezig (vanaf 3.1 kan components of webhooks het vervangen) |
Fout |
Elk pad begint met / |
Fout |
Elk pad gebruikt alleen de velden die zijn versie definieert (get, post, parameters, x--extensies enzovoort) |
Fout |
Elke operatie declareert responses (Swagger 2.0 en OpenAPI 3.0) |
Fout |
Elke operationId is uniek |
Fout |
Elke interne $ref (#/...) verwijst naar iets in het document |
Fout |
Een $ref naar een ander bestand, een URL of een anker (#name) |
Waarschuwing: niet gevolgd |
Een document zonder fouten wordt gerapporteerd als structureel geldig, samen met de versie waartegen het is gecontroleerd en het aantal gevonden paden, operaties en interne verwijzingen. Waarschuwingen blokkeren de geldigheid niet.
Wat het niet controleert
Dit is een structuurcontrole, geen volledige specificatievalidator. Het doet niet het volgende:
- elk knooppunt valideren tegen het officiële JSON Schema van je versie, zoals schemasleutelwoorden, parametervelden of mediatypen;
$ref-verwijzingen naar andere bestanden of URL’s volgen;- controleren of padparameters consistent worden gedeclareerd en gebruikt;
- documenten lezen die groter zijn dan 1 MB;
- regelnummers melden bij structuurfouten (alleen parseerfouten hebben er een).
Voor die diepgang gebruik je een gespecialiseerde CLI-validator zoals redocly lint, swagger-cli validate of spectral lint. Gebruik deze tool voor een snelle controle voordat je een specificatie commit of deelt.
OpenAPI-versies in de praktijk
| Versie | Opmerkingen |
|---|---|
| Swagger 2.0 | Nog steeds veel in gebruik; gebruikt swagger: "2.0" |
| OpenAPI 3.0.x | De meest gangbare 3.x-lijn |
| OpenAPI 3.1.x | Sluit aan op JSON Schema 2020-12; paths wordt optioneel |
| OpenAPI 3.2.0 | Gepubliceerd in september 2025; voegt de methode query toe |
Deze validator accepteert het veld openapi (3.0, 3.1 of 3.2) of het veld swagger (2.0), dus die slagen allemaal voor de versiecontrole. Zet de versie in YAML tussen aanhalingstekens: swagger: "2.0" is een string, terwijl 2.0 zonder aanhalingstekens als getal wordt gelezen en wordt afgewezen.
Een minimaal document dat slaagt
openapi: 3.0.3
info:
title: Example API
version: 1.0.0
paths:
/users:
get:
summary: List users
responses:
'200':
description: OK
Alle verplichte velden zijn aanwezig, het enige pad begint met een schuine streep, get is een bekende methode en de operatie declareert de responses die OpenAPI 3.0 vereist, dus dit wordt gerapporteerd als structureel geldig.
Veelgestelde vragen
Swagger was de oorspronkelijke naam van de specificatie, die in 2015 aan de Linux Foundation werd gedoneerd en vanaf versie 3.0 werd hernoemd tot “OpenAPI”. “Swagger” verwijst nu naar de tools (Swagger UI, Swagger Editor). De specificatie zelf is OpenAPI. Deze validator accepteert zowel het versieveld swagger (2.0) als openapi (3.x).
Nee. Hij controleert de structuur: dat het document te parsen is, een ondersteunde versie heeft, een info-object met titel en versie en de paths die zijn versie vereist, dat paden en hun velden de specificatie volgen, dat operaties responses declareren waar dat verplicht is, dat elke interne $ref oplost en dat geen operationId zich herhaalt. Hij valideert niet elk knooppunt tegen het officiële JSON Schema. Gebruik daarvoor redocly lint of spectral lint.
Ja, binnen het document. Elke $ref die met #/ begint, zoals #/components/schemas/Pet, moet naar een bestaand deel van het document verwijzen, anders wordt hij als fout gemeld. Verwijzingen naar andere bestanden of URL’s staan in een waarschuwing en worden niet gevolgd: bundel het document eerst met een tool als redocly bundle of swagger-cli bundle en plak dan het resultaat.
Nee. Het inspecteert alleen het document dat je plakt, niet je draaiende code. Het kan niet bepalen of je API daadwerkelijk teruggeeft wat de specificatie beschrijft. Contracttesttools zoals Dredd of Schemathesis doen dat.
Tussen de twee stappen blijft het in dit browsertabblad, in de sessieopslag en niet in het adres van de pagina, tot je Begin opnieuw kiest of het tabblad sluit. Voor het rapport wordt het naar onze server gestuurd, die het controleert en het rapport terugstuurt. Onze server slaat het document zelf niet op en logt het niet: hij telt alleen dat er een controle is uitgevoerd en of het document daarvoor slaagde.
Gerelateerde tools
Webpack-configuratiegenerator
Maak een webpack.config.js voor webpack 5 voor gewoon JavaScript, React of Vue: TypeScript, Babel, CSS of Sass, afbeeldingen, HtmlWebpackPlugin, een devserver en de npm install-regel.
PHP-formatter
Voeg regelafbrekingen en een inspringing van 2 of 4 spaties toe aan een eenvoudige PHP-snippet. Controleer het resultaat: dit is geen PHP-parser of PSR-12-fixer.
CSS-loadergenerator
Maak een cirkelvormige spinner in pure CSS: stel de diameter, randdikte, accentkleur en rotatiesnelheid in, bekijk het live en kopieer de kant-en-klare CSS. Geen SVG, geen JavaScript.
ASCII-tabelreferentie
Volledige ASCII-tabel van 0 tot 127 met decimale, hexadecimale, octale en binaire waarden en HTML-numerieke referentienotatie, inclusief control codes zoals NUL, LF en DEL.
YAML naar JSON
Omzet de YAML-configuratie naar JSON voor tools en API's die alleen JSON ondersteunen. Handelt van ankers, samenvoegings sleutels en geneste structuren.
XSD-validator
Valideer een XML-document tegen een XSD-schema en rapporteer discrepanties tussen elementen en typen, inclusief de exacte regelnummers.
Tool beschikbaar in andere talen
- OpenAPI 検証ツール [JA]
- OpenAPI-validerare [SV]
- Validateur OpenAPI [FR]
- OpenAPI-Validator [DE]
- ตัวตรวจสอบ OpenAPI [TH]
- Trình kiểm tra OpenAPI [VI]
- Validador de OpenAPI [ES]
- Walidator OpenAPI [PL]
- Validator OpenAPI [ID]
- OpenAPI 검증기 [KO]
- مدقّق OpenAPI [AR]
- Validador OpenAPI [PT]
- OpenAPI 验证器 [ZH]
- OpenAPI Validator [EN]
- Валидатор OpenAPI [RU]
- OpenAPI Doğrulayıcı [TR]
- Validatore OpenAPI [IT]