Swagger 2.0 Validator

Plak een Swagger 2.0-definitie, in JSON of YAML, om te controleren of die het versieveld swagger, een info-object met titel en versie en een paths-object heeft. Padvermeldingen worden gecontroleerd op een schuine streep vooraan en op sleutels die geen standaardbewerkingen zijn.

Een Swagger 2.0-bestand controleren

  1. 1

    Kopieer uw definitie

    Kopieer de volledige `swagger.json` of `swagger.yaml`, beginnend bij de regel `swagger: "2.0"`.

  2. 2

    Plak het

    Plak het in het veld voor het OpenAPI- / Swagger-document.

  3. 3

    Start de controle

    Ga naar de stap met resultaten voor de fouten en waarschuwingen.

  4. 4

    Bijwerken en opnieuw controleren

    Pas de oplossingen in uw bestand toe en plak de nieuwe versie tot het rapport schoon is.

Wat bij een Swagger 2.0-bestand als geslaagd geldt

Bij een 2.0-bestand wordt de versiecontrole gehaald met een swagger-sleutel op het hoogste niveau. De tool controleert niet of de waarde "2.0" is, dus een verkeerd nummer wordt niet opgemerkt. Naast de versie vereist hij info.title, info.version en een paths-object.

Velden die specifiek zijn voor Swagger 2.0, zoals host, basePath, schemes, definitions en securityDefinitions, worden niet onderzocht. Een ontbrekende host of een kapot definitions-blok wordt niet gemeld.

Een uitgewerkt voorbeeld

{
  "swagger": "2.0",
  "info": { "title": "Shop API", "version": "1.0" },
  "paths": {
    "/products": {
      "get": { "summary": "List products" },
      "x-internal": true
    }
  }
}

Het versieveld, info en paths zijn allemaal aanwezig, dus er zijn geen fouten. Het rapport toont één waarschuwing:

Bevinding Type Reden
Onbekende methode ‘x-internal’ op /products. Waarschuwing De sleutel is geen standaardbewerking en geen veld van een padonderdeel

Het document wordt toch als geldig gemeld, omdat waarschuwingen de geldigheid niet blokkeren. Extensiesleutels van leveranciers zoals x-internal zijn legaal in Swagger 2.0, dus u kunt hem laten staan.

Migreren vanaf 2.0

Als u naar OpenAPI 3.x wilt overstappen, kunt u het geconverteerde bestand in hetzelfde vak plakken en de resultaten vergelijken. De controle is hetzelfde, met het veld openapi in plaats van swagger. Voor de echte migratie gebruikt u een volledige converter en linter, want deze tool vertaalt de instellingen van definitions en host niet.

Wanneer een snelle controle genoeg is

Swagger 2.0-definities blijven vaak jarenlang in repositories staan en worden met de hand bewerkt. Een snelle structuurcontrole is nuttig wanneer u er een overneemt, wanneer een tool weigert hem te laden en u een ontbrekend veld vermoedt, of wanneer u twee bestanden samenvoegt en zeker wilt weten dat het resultaat zijn secties info en paths nog heeft. Voor de volledige 2.0-regels, inclusief definitions en beveiligingsinstellingen, gebruikt u daarna een aparte linter.

Houd er rekening mee dat een schoon rapport alleen iets zegt over de structuur. Bewerkingen zonder responses, verkeerde parametertypen en onopgeloste verwijzingen vallen buiten deze controle, dus test het bestand ook in uw documentatie- of codegeneratietool.

Veelgestelde vragen

Nee. Hij controleert of het veld swagger of openapi bestaat, niet wat het bevat.

Nee. Alleen het versieveld, het info-object, het paths-object en de vermeldingen onder elk pad worden gecontroleerd.

Ja. De tekst wordt eerst als JSON gelezen en, als dat mislukt, als YAML. Houd de inspringing ongewijzigd wanneer u plakt.

De padniveau-velden parameters, summary, description en servers staan op de lijst met geaccepteerde sleutels, dus zij geven geen waarschuwing voor een onbekende methode.

Gerelateerde tools

Tool beschikbaar in andere talen

Handleidingen en toepassingen