De OpenAPI-parser

Een native Delphi-klasse die OpenAPI 3.0-, 3.1- en 3.2-specificaties leest, plus Swagger 2.0-documenten die bij het inlezen worden omgezet, en je programmatisch toegang geeft tot elk endpoint, schema en elke security-definitie.

TsgcOpenAPI

Er is niets om op een formulier te plaatsen. sgcOpenAPI registreert geen componenten en levert geen designtime-package, dus maak je TsgcOpenAPI in code aan, uit sgcOpenAPI_Classes.pas, en lees je er elke specificatie in.

Specificaties laden

ReadFromFile neemt een pad en Read neemt het document als string, terwijl de commandoregeltool een URL eerst downloadt. JSON en YAML worden allebei lokaal gelezen, en een Swagger 2.0-document wordt eveneens lokaal omgezet naar OpenAPI 3.0.

Door het API-model navigeren

Paths, Webhooks, Components, Security, Servers, Tags en Info zijn properties op het object, zodat paths, operations, parameters, request- en response-bodies, schema's en security-schemes allemaal bereikbaar zijn via een sterk getypeerd model.

Code genereren

TsgcOpenAPI_Parser_Client_Pascal stamt van dezelfde klasse af, dus de generator is de lezer met een emitter erbovenop. Erf ervan om Pascal-units te produceren, of loop zelf door het model voor custom tooling en automatisering.

Parserdetails

Referentieresolutie

Een $ref blijft als _Ref op het object staan in plaats van te worden ingevoegd, dus het model komt niet gedereferenceerd binnen. Externe bestands- en URL-referenties haalt TsgcOpenAPI_Bundle vooraf op, voegt ze in, onthoudt wat het al bezocht heeft en stopt bij een maximale diepte.

Schemacompositie

AllOf, OneOf en AnyOf worden in het schema-object gelezen, samen met Discriminator en zijn mapping, en de codegenerator plat ze af tot Pascal-klassen.

Specificatievalidatie

Warnings verzamelt alles wat de lezer niet kon honoreren, van een ontbrekend info-object tot een keyword dat de generator negeert, en wordt bij elke leesbeurt geleegd. Regel en kolom worden gemeld voor een YAML-document dat niet parseert.

De beste deal: All-AccessElk eSeGeCe-product, inclusief Premium-ondersteuning, vanaf €1,059 per jaar.
Bekijk de All-Access-prijzen

Probeer de parser

Download de gratis proefversie en parseer je eerste OpenAPI-specificatie in enkele minuten.