OpenAPI-client-/servertools voor Delphi — vergelijkingsgids

Een neutraal, met bronnen onderbouwd overzicht van de OpenAPI-client- en codegeneratie-opties voor Delphi- en C++ Builder-ontwikkelaars in 2026: sgcOpenAPI, OpenAPI Generator, Swagger Codegen, mORMot 2, TMS XData met de bijbehorende OpenAPI Delphi Generator, en de route van handgeschreven REST-clients. Elke functieclaim verwijst naar de eigen documentatie van het project.

Zes routes van een OpenAPI-spec naar werkende Delphi-code

Een samenvatting van één alinea per optie, met een link naar de officiële documentatie of repository. De gedetailleerde vergelijking staat in de matrix hieronder.

OpenAPI Generator

OpenAPI Tools-community · Apache 2.0 (open source)

Open-source Java-tool, oorspronkelijk een fork van Swagger Codegen, met 60+ client-generators en 40+ server-stub-generators. Genereert clients en/of servers voor C, C#, C++ (cpp-restsdk, Qt5, Oat++, Tizen, Unreal Engine 4), Go, Java, Kotlin, PHP, Python, Rust, TypeScript en nog veel meer. De officiële generator-lijst bevat geen Delphi-/Object Pascal-/Free Pascal-target.

Officiële pagina

Swagger Codegen

SmartBear / community · Apache 2.0 (open source)

Het oorspronkelijke Java-codegeneratorproject van SmartBear, waarvan OpenAPI Generator in 2018 werd geforkt. Ondersteunt ActionScript, Ada, Apex, Bash, C#, C++, Clojure, Dart, Elixir, Erlang, Go, Groovy, Haskell, Java, Kotlin, Lua, Node.js, Objective-C, Perl, PHP, PowerShell, Python, R, Ruby, Rust, Scala, Swift en TypeScript. De 3.x-tak ondersteunt OpenAPI 3.0; de 2.x-tak alleen OpenAPI 2.0 (Swagger). In geen van beide takken is een Delphi- of Object Pascal-generator aanwezig.

Officiële pagina

mORMot 2 OpenAPI-clientgenerator

Arnaud Bouchez / Synopse · MPL / GPL / LGPL (open source)

mORMot 2 levert mormot.net.openapi.pas, dat een OpenAPI 3.x- of Swagger 2.0-document (bestand of URL) inleest en FPC-/Delphi-Pascal-client-units uitvoert — high-level records en dynamische arrays als DTO's, Pascal-enumeraties voor enum-waarden en vertaling van HTTP-statuscodes naar excepties. De unit richt zich op FPC en Delphi 7 / 2009 en nieuwer, en draait als onderdeel van het bredere mORMot SOA-/ORM-framework.

Officiële pagina

TMS XData & OpenAPI Delphi Generator

TMS Software / Landgraf Software · Commercieel (XData) / Apache 2.0 + Commons Clause (generator)

TMS XData is een commercieel Delphi REST-/JSON-/ORM-remoting-framework. Een XData-server kan een OpenAPI- (voorheen Swagger-)document publiceren op /openapi/swagger.json voor de eigen endpoints en werkt samen met SwaggerUI / Redoc. De bijbehorende OpenAPI Delphi Generator (oorspronkelijk meegeleverd in XData, nu een afzonderlijk open-sourceproject op landgraf-dev/openapi-delphi-generator) verwerkt Swagger 2.0-/OpenAPI 3.0-documenten en geeft Delphi-interfaces plus DTO-classes uit voor gebruik met TXDataClient.

Officiële pagina

Handgeschreven REST-clients (Indy / THTTPClient)

Indy Project / Embarcadero · BSD / MPL (Indy) · RAD Studio EULA (THTTPClient)

Een veelvoorkomende realiteit: ontwikkelaars schrijven de REST-client met de hand met TIdHTTP (Indy) of System.Net.HttpClient.THTTPClient (meegeleverd met Delphi). Geen codegeneratie, geen schema; handmatige JSON-marshalling met de RTL-JSON-units (of TJSONObject). Authenticatie, retry-logica en paginatie worden ook met de hand geschreven.

Officiële pagina

Zij-aan-zij functievergelijking

Een vinkje () betekent dat het project native ondersteuning documenteert. Een streepje () betekent dat het project dit niet native levert. Een tilde (~) betekent gedeeltelijk / via add-on / niet expliciet gedocumenteerd — zie het hoofdstuk Bronnen voor wat we konden verifiëren.

Generators, runtime, licentie

12 rijen
Functie sgcOpenAPI OpenAPI Generator Swagger Codegen mORMot 2 OpenAPI-clientgenerator TMS XData & OpenAPI Delphi Generator Handgeschreven REST-clients (Indy / THTTPClient)
Genereert Delphi-client Native Object Pascal-client vanuit OpenAPI 3.x
Genereert C++ Builder-code C++ Builder VCL-/FMX-targets (BCC32 / BCC64) ~ ~ ~ ~
Genereert serverstubs Server-side scaffolding vanuit een OpenAPI-spec
HTTP/2-client Native HTTP/2-transport in de gegenereerde client ~ ~ ~ ~
Getypeerde JSON-DTO's Sterk getypeerde classes / records / enums ~
OAuth2-/JWT-helpers Ingebouwde OAuth2-flows en JWT-helpers ~
Async-/sync-helpers Zowel asynchrone als synchrone call-patronen ~
Multiplatform-runtime Win / macOS / Linux / iOS / Android
Meegeleverde leverancier-SDK's AWS / Azure / GCP / Microsoft Graph kant-en-klaar
Commercieel gebruik toegestaan Licentie staat closed-source commercieel gebruik toe
Actief onderhoud Release of tagged activiteit in de laatste 12–18 maanden ~
Licentiemodel Licentietype Commercieel Apache 2.0 (open source) Apache 2.0 (open source) MPL / GPL / LGPL Commercieel (XData) + Apache 2.0 + CC (generator) BSD / MPL (Indy) · RAD Studio EULA (THTTPClient)
Gedocumenteerde native ondersteuning Niet native geleverd ~ Gedeeltelijk / via add-on / niet geverifieerd

Eerlijke match per optie

Elke optie hier heeft een reële doelgroep. De juiste keuze hangt ervan af of je naast clients ook serverstubs nodig hebt, welke Pascal-toolchains je ondersteunt, je licentievoorkeur en of meegeleverde leverancier-SDK's je tijd besparen.

Kies sgcOpenAPI

Kies sgcOpenAPI als je één commerciële tool wilt die Delphi 7–13- en C++ Builder-clientcode genereert vanuit elke OpenAPI 3.x- of Swagger 2.x-spec, als je kant-en-klare Pascal-SDK's voor AWS, Azure, Google Cloud of Microsoft Graph meegeleverd wilt hebben, als je VCL plus FireMonkey voor macOS / Linux / iOS / Android target, en als je geen externe runtime-afhankelijkheden buiten de sgcOpenAPI-units nodig hebt.

Kies OpenAPI Generator

Kies OpenAPI Generator als je team clients of serverstubs bouwt in andere talen dan Delphi — C#, Java, Go, TypeScript, Rust, Python — vanuit dezelfde OpenAPI-spec, als je zowel clients als serverstubs uit één tool nodig hebt, of als Apache 2.0-licentie en een grote community van template-bijdragers belangrijk voor je zijn.

Kies Swagger Codegen

Kies Swagger Codegen als je het SmartBear-/Swagger-ecosysteem (SwaggerHub, Swagger Editor) end-to-end gebruikt, als je de dichtstbijzijnde officieel onderhouden opvolger van de historische Swagger 2.0-codegenerator wilt, en als je targets mainstream JVM-/.NET-/scriptingtalen zijn in plaats van Delphi.

Kies mORMot 2 OpenAPI-clientgenerator

Kies de mORMot 2 OpenAPI-generator als je project al mORMot gebruikt voor ORM, SOA of hosting, als je een open-source Pascal-native codegenerator onder MPL / GPL / LGPL wilt, of als je FPC op Linux / BSD / macOS target voor zowel de clientgenerator als de resulterende code.

Kies TMS XData & OpenAPI Delphi Generator

Kies TMS XData als je de server ook in Delphi bouwt en server + client + ORM-remoting van één leverancier wilt, als SwaggerUI-/Redoc-browsing van je eigen servicecontracten een vereiste is, of als je al TMS Business / All-Access licentieert. Kies de zelfstandige OpenAPI Delphi Generator als je alleen client-side codegeneratie nodig hebt en de voorkeur geeft aan Apache 2.0 + Commons Clause-licentie.

Kies handgeschreven REST-clients (Indy / THTTPClient)

Kies een handgeschreven REST-client als het API-oppervlak klein is (een handvol endpoints), als je geen componenten van derden mag meeleveren wegens licentie- of compliance-redenen, of als de API geen gepubliceerde OpenAPI-spec heeft en een generator je niets oplevert. Indy en THTTPClient worden beide met RAD Studio meegeleverd, dus er is geen extra afhankelijkheid.

Overstappen naar sgcOpenAPI — wat verschilt

Korte notities over de verschillen als je overstapt van een van de bovenstaande opties. Niet polemisch — gewoon de praktische mapping.

Overstappen vanaf OpenAPI Generator

OpenAPI Generator target geen Delphi, dus "migratie" betekent hier dat je C#-/Java-/TS-clients naast de sgcOpenAPI Delphi-client genereert vanuit dezelfde spec. Als je vorige opzet een door OpenAPI Generator gebouwde C#-wrapper was die vanuit Delphi via COM of REST werd gebruikt, verwijdert sgcOpenAPI die laag door direct de Delphi-client te produceren.

Overstappen vanaf Swagger Codegen

Swagger Codegen target geen Delphi. Als je vorige workflow een generieke C#- of Java-client exporteerde en die voor Delphi wrapte, kun je met sgcOpenAPI de Delphi-client direct vanuit dezelfde spec genereren en verdwijnt de wrapperlaag.

Overstappen vanaf mORMot 2 OpenAPI-clientgenerator

De OpenAPI-clientgenerator van mORMot zit in het bredere framework. Als je toepassing alleen de generator gebruikt en niet de SOA-/ORM-/WebSocket-lagen, geeft sgcOpenAPI je een zelfstandige, drop-in componentset zonder de extra units. Andersom geldt: als je ook mORMot's SOA-contracten en ORM gebruikt, betekent overstappen puur voor de OpenAPI-generator dat je die onderdelen opnieuw moet implementeren, en die levert sgcOpenAPI niet.

Overstappen vanaf TMS XData & OpenAPI Delphi Generator

Als je momenteel XData's ingebouwde importer gebruikt om clients te genereren vanuit Swagger-specs van derden, let dan op: de importer is afgesplitst in het open-sourceproject landgraf-dev/openapi-delphi-generator — de in-XData classes worden gedocumenteerd als deprecated. sgcOpenAPI is een andere, commercieel ondersteunde generator die OpenAPI 3.x native inleest, SDK's voor de grote cloudplatforms meelevert en Delphi 7–13 plus C++ Builder target.

Overstappen vanaf handgeschreven REST-clients (Indy / THTTPClient)

Handgeschreven clients verouderen snel wanneer het API-oppervlak groeit of de upstreamservice nieuwe endpoints publiceert. sgcOpenAPI kan in seconden dezelfde DTO's en methode-signatures genereren vanuit de gepubliceerde spec, zodat de handgeschreven logica vrijkomt voor de delen die het echt nodig hebben (custom retries, telemetry, business glue). De gegenereerde code gebruikt vergelijkbaar HTTP-transport, dus het mentale model van de ontwikkelaar blijft dichtbij.

Elke claim, gelinkt

Elke cel in de matrix hierboven is herleidbaar tot een van deze officiële documentatiepagina's, repositories of release notes. Alle URL's zijn op het moment van schrijven met een HEAD-check geverifieerd.

BronURL
sgcOpenAPI — productpaginahttps://www.esegece.com/products/openapi/
sgcOpenAPI — functieshttps://www.esegece.com/products/openapi/features/
sgcOpenAPI — parserhttps://www.esegece.com/products/openapi/parser/
sgcOpenAPI — kant-en-klare SDK'shttps://www.esegece.com/products/openapi/apis/
OpenAPI Generator — project homehttps://openapi-generator.tech/
OpenAPI Generator — GitHub-repositoryhttps://github.com/OpenAPITools/openapi-generator
OpenAPI Generator — lijst met ondersteunde generatorshttps://github.com/OpenAPITools/openapi-generator/blob/master/docs/generators.md
OpenAPI Generator — releaseshttps://github.com/OpenAPITools/openapi-generator/releases
Swagger Codegen — productpagina (swagger.io)https://swagger.io/tools/swagger-codegen/
Swagger Codegen — GitHub-repositoryhttps://github.com/swagger-api/swagger-codegen
Swagger Codegen Generators (3.x-templates)https://github.com/swagger-api/swagger-codegen-generators
mORMot 2 — GitHub-repository (synopse/mORMot2)https://github.com/synopse/mORMot2
mORMot 2 — README (netwerk & OpenAPI-vermelding)https://github.com/synopse/mORMot2/blob/master/README.md
mORMot 2 — releaseshttps://github.com/synopse/mORMot2/releases
Synopse-forum (Object Pascal SOA / ORM / OpenAPI)https://synopse.info/
TMS XData — productpaginahttps://www.tmssoftware.com/site/xdata.asp
TMS XData — documentatie-indexhttps://doc.tmssoftware.com/biz/xdata/guide/index.html
TMS XData — OpenAPI-ondersteuningsgidshttps://doc.tmssoftware.com/biz/xdata/guide/openapi.html
OpenAPI Delphi Generator (voorheen XData-importer)https://github.com/landgraf-dev/openapi-delphi-generator
Indy — projecthomepagehttps://www.indyproject.org/
Indy — GitHub-repository (IndySockets/Indy)https://github.com/IndySockets/Indy
Indy — releases (laatste tag 10.6.3.14)https://github.com/IndySockets/Indy/releases
Embarcadero-docs — System.Net.HttpClient.THTTPClienthttps://docwiki.embarcadero.com/Libraries/Sydney/en/System.Net.HttpClient.THTTPClient
OpenAPI Initiative — specificatie-repositoryhttps://github.com/OAI/OpenAPI-Specification
OpenAPI-specificatie — gezaghebbende HTML-versieshttps://spec.openapis.org/

Probeer sgcOpenAPI

Download de gratis Trial-editie en genereer in enkele minuten je eerste Pascal-SDK vanuit een OpenAPI 3.x-specificatie.