OpenAPI Client-/Server-Tooling für Delphi — Vergleichsleitfaden

Eine neutrale, mit Quellen belegte Übersicht der OpenAPI-Client- und Codegenerierungs-Optionen, die Delphi- und C++ Builder-Entwicklern 2026 zur Verfügung stehen: sgcOpenAPI, OpenAPI Generator, Swagger Codegen, mORMot 2, TMS XData mit dem zugehörigen OpenAPI Delphi Generator sowie der handgeschriebene REST-Client-Weg. Jede Aussage zu Features verlinkt auf die eigene Dokumentation des Projekts.

Sechs Wege von einer OpenAPI-Spezifikation zu lauffähigem Delphi-Code

Eine Zusammenfassung jeder Option in einem Absatz, mit Link zur offiziellen Dokumentation oder zum Repository. Der detaillierte Vergleich folgt in der Matrix darunter.

OpenAPI Generator

OpenAPI Tools community · Apache 2.0 (open source)

Open-Source-Java-Tool, ursprünglich aus Swagger Codegen geforkt, mit 60+ Client-Generatoren und 40+ Server-Stub-Generatoren. Generiert Clients und/oder Server für C, C#, C++ (cpp-restsdk, Qt5, Oat++, Tizen, Unreal Engine 4), Go, Java, Kotlin, PHP, Python, Rust, TypeScript und viele weitere. Die offizielle Generatorliste enthält kein Delphi-/Object Pascal-/Free Pascal-Ziel.

Official page

Swagger Codegen

SmartBear / community · Apache 2.0 (open source)

Das ursprüngliche Java-Codegenerator-Projekt von SmartBear, aus dem OpenAPI Generator 2018 geforkt wurde. Unterstützt 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 und TypeScript. Die 3.x-Linie unterstützt OpenAPI 3.0; die 2.x-Linie nur OpenAPI 2.0 (Swagger). Weder die eine noch die andere Linie bietet einen Delphi- oder Object Pascal-Generator.

Official page

mORMot 2 OpenAPI client generator

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

mORMot 2 liefert mormot.net.openapi.pas mit, das ein OpenAPI 3.x- oder Swagger 2.0-Dokument (Datei oder URL) liest und FPC-/Delphi-Pascal-Client-Units erzeugt — High-Level-Records und dynamische Arrays als DTOs, Pascal-Enumerationen für Enum-Werte und die Übersetzung von HTTP-Statuscodes in Exceptions. Die Unit zielt auf FPC und Delphi 7 / 2009 und neuer ab und läuft als Teil des umfassenderen mORMot SOA-/ORM-Frameworks.

Official page

TMS XData & OpenAPI Delphi Generator

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

TMS XData ist ein kommerzielles Delphi REST-/JSON-/ORM-Remoting-Framework. Ein XData-Server kann für seine eigenen Endpunkte ein OpenAPI- (ehemals Swagger-)Dokument unter /openapi/swagger.json veröffentlichen und lässt sich mit SwaggerUI / Redoc kombinieren. Der zugehörige OpenAPI Delphi Generator (ursprünglich in XData enthalten, jetzt als separates Open-Source-Projekt unter landgraf-dev/openapi-delphi-generator) verarbeitet Swagger 2.0-/OpenAPI 3.0-Dokumente und erzeugt Delphi-Interfaces sowie DTO-Klassen für die Verwendung mit TXDataClient.

Official page

Hand-coded REST clients (Indy / THTTPClient)

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

Eine verbreitete Realität: Entwickler schreiben den REST-Client von Hand mit TIdHTTP (Indy) oder System.Net.HttpClient.THTTPClient (in Delphi enthalten). Keine Codegenerierung, kein Schema; manuelles JSON-Marshalling mit den RTL-JSON-Units (oder TJSONObject). Authentifizierung, Retry-Logik und Pagination werden ebenfalls von Hand implementiert.

Official page

Funktionsvergleich nebeneinander

A check () means the project documents native support. A dash () means the project does not provide it natively. A tilde (~) means partial / via add-on / not explicitly documented — see the Sources section for what we could verify.

Generatoren, Runtime, Lizenzierung

12 rows
Funktion sgcOpenAPI OpenAPI Generator Swagger Codegen mORMot 2 OpenAPI client generator TMS XData & OpenAPI Delphi Generator Hand-coded REST clients (Indy / THTTPClient)
Generiert Delphi-Client Nativer Object Pascal-Client aus OpenAPI 3.x
Generiert C++ Builder-Code C++ Builder VCL-/FMX-Ziele (BCC32 / BCC64) ~ ~ ~ ~
Generiert Server-Stubs Server-seitiges Scaffolding aus einer OpenAPI-Spezifikation
HTTP/2-Client Nativer HTTP/2-Transport im generierten Client ~ ~ ~ ~
Typisierte JSON-DTOs Stark typisierte Klassen/Records/Enums ~
OAuth2-/JWT-Helfer Eingebaute OAuth2-Flows und JWT-Helfer ~
Async-/Sync-Helfer Sowohl asynchrone als auch synchrone Aufrufmuster ~
Plattformübergreifende Runtime Win / macOS / Linux / iOS / Android
Mitgelieferte Vendor-SDKs AWS / Azure / GCP / Microsoft Graph vorgefertigt
Kommerzielle Nutzung erlaubt Lizenz erlaubt kommerzielle Closed-Source-Nutzung
Aktive Pflege Release oder getaggte Aktivität in den letzten 12–18 Monaten ~
Lizenzmodell Lizenztyp Commercial Apache 2.0 (open source) Apache 2.0 (open source) MPL / GPL / LGPL Commercial (XData) + Apache 2.0 + CC (generator) BSD / MPL (Indy) · RAD Studio EULA (THTTPClient)
Dokumentierte native Unterstützung Nicht nativ vorhanden ~ Teilweise / über Add-on / nicht verifiziert

Ehrliche Eignung jeder Option

Jede Option hier hat eine echte Zielgruppe. Die richtige Wahl hängt davon ab, ob du neben Clients auch Server-Stubs brauchst, welche Pascal-Toolchains du unterstützt, deine Lizenzpräferenz und ob mitgelieferte Vendor-SDKs Zeit sparen.

Wähle sgcOpenAPI

Wähle sgcOpenAPI, wenn du ein einziges kommerzielles Tool willst, das Delphi 7–13- und C++ Builder-Client-Code aus jeder OpenAPI 3.x- oder Swagger 2.x-Spezifikation generiert, wenn du vorgefertigte Pascal-SDKs für AWS, Azure, Google Cloud oder Microsoft Graph mitgeliefert haben willst, wenn du VCL und FireMonkey für macOS / Linux / iOS / Android anzielst und wenn du außer den sgcOpenAPI-Units keine externen Runtime-Abhängigkeiten brauchst.

Wähle OpenAPI Generator

Wähle OpenAPI Generator, wenn dein Team aus derselben OpenAPI-Spezifikation Clients oder Server-Stubs in anderen Sprachen als Delphi baut — C#, Java, Go, TypeScript, Rust, Python —, wenn du Clients und Server-Stubs aus einem Tool brauchst oder wenn dir Apache-2.0-Lizenzierung und eine große Community von Template-Contributors wichtig sind.

Wähle Swagger Codegen

Wähle Swagger Codegen, wenn du das SmartBear-/Swagger-Ökosystem (SwaggerHub, Swagger Editor) durchgängig nutzt, wenn du den nächstgelegenen offiziell gepflegten Nachfolger des historischen Swagger 2.0-Codegenerators willst und wenn deine Zielsprachen Mainstream-JVM-/.NET-/Skriptsprachen sind und nicht Delphi.

Wähle den mORMot 2 OpenAPI Client-Generator

Wähle den mORMot 2 OpenAPI-Generator, wenn dein Projekt mORMot bereits für ORM, SOA oder Hosting nutzt, wenn du einen Open-Source-Pascal-nativen Codegenerator unter MPL/GPL/LGPL willst oder wenn du FPC auf Linux/BSD/macOS sowohl für den Client-Generator als auch für den resultierenden Code anzielst.

Wähle TMS XData & OpenAPI Delphi Generator

Wähle TMS XData, wenn du den Server ebenfalls in Delphi baust und Server + Client + ORM-Remoting von einem Anbieter willst, wenn SwaggerUI-/Redoc-Browsing deiner eigenen Service-Verträge eine Anforderung ist oder wenn du TMS Business / All-Access bereits lizenziert hast. Wähle den eigenständigen OpenAPI Delphi Generator, wenn du nur clientseitige Codegenerierung brauchst und Apache 2.0 + Commons Clause-Lizenzierung bevorzugst.

Wähle handgeschriebene REST-Clients (Indy / THTTPClient)

Wähle einen handgeschriebenen REST-Client, wenn die API-Fläche klein ist (eine Handvoll Endpunkte), wenn du aus Lizenz- oder Compliance-Gründen keine Drittanbieter-Komponenten ausliefern kannst oder wenn die API keine veröffentlichte OpenAPI-Spezifikation hat und ein Generator dir nichts bringt. Indy und THTTPClient werden beide mit RAD Studio ausgeliefert, sodass es keine zusätzliche Abhängigkeit gibt.

Wechsel zu sgcOpenAPI — was anders ist

Kurze Hinweise zu den Unterschieden, wenn du von einer der oben genannten Optionen wechselst. Nicht konfrontativ — nur die praktische Zuordnung.

Wechsel von OpenAPI Generator

OpenAPI Generator unterstützt Delphi nicht, daher bedeutet "Migration" hier, dass du C#-/Java-/TS-Clients neben dem sgcOpenAPI-Delphi-Client aus derselben Spezifikation generierst. War dein bisheriger Aufbau ein mit OpenAPI Generator gebauter C#-Wrapper, der aus Delphi über COM oder REST konsumiert wurde, entfällt diese Schicht mit sgcOpenAPI, da der Delphi-Client direkt erzeugt wird.

Wechsel von Swagger Codegen

Swagger Codegen unterstützt Delphi nicht. Hat dein bisheriger Workflow einen generischen C#- oder Java-Client exportiert und für Delphi gewrappt, lässt sich mit sgcOpenAPI der Delphi-Client direkt aus derselben Spezifikation generieren und die Wrapper-Schicht entfällt.

Wechsel vom mORMot 2 OpenAPI Client-Generator

Der OpenAPI Client-Generator von mORMot ist Teil des umfassenderen Frameworks. Nutzt deine Anwendung nur den Generator und nicht die SOA-/ORM-/WebSocket-Schichten, liefert sgcOpenAPI ein eigenständiges, einsetzbares Komponentenset ohne die zusätzlichen Units. Umgekehrt bedeutet ein Wechsel rein wegen des OpenAPI-Generators, dass du diese Teile neu implementieren musst, falls du auch die SOA-Verträge und das ORM von mORMot nutzt — das bietet sgcOpenAPI nicht.

Wechsel von TMS XData & OpenAPI Delphi Generator

Wenn du derzeit den in XData eingebauten Importer nutzt, um Clients aus Swagger-Spezifikationen Dritter zu generieren, beachte: der Importer wurde in das Open-Source-Projekt landgraf-dev/openapi-delphi-generator ausgegliedert — die in-XData-Klassen sind als veraltet dokumentiert. sgcOpenAPI ist ein anderer, kommerziell unterstützter Generator, der OpenAPI 3.x nativ liest, SDKs für die großen Cloud-Plattformen mitliefert und Delphi 7–13 sowie C++ Builder anzielt.

Wechsel von handgeschriebenen REST-Clients (Indy / THTTPClient)

Handgeschriebene Clients altern schlecht, wenn die API-Fläche wächst oder der Upstream-Dienst neue Endpunkte veröffentlicht. sgcOpenAPI kann dieselben DTOs und Methodensignaturen in Sekunden aus der veröffentlichten Spezifikation generieren und befreit die handgeschriebene Logik für jene Teile, die das wirklich brauchen (Custom-Retries, Telemetrie, Business-Glue). Der generierte Code nutzt einen ähnlichen HTTP-Transport, sodass das Entwickler-Mental-Model nah am vorigen bleibt.

Jede Aussage, verlinkt

Jede Zelle in der Matrix oben verweist auf eine dieser offiziellen Dokumentationsseiten, Repositories oder Release Notes. Alle URLs wurden zum Zeitpunkt der Erstellung per HEAD geprüft.

QuelleURL
sgcOpenAPI — product pagehttps://www.esegece.com/products/openapi/
sgcOpenAPI — featureshttps://www.esegece.com/products/openapi/features/
sgcOpenAPI — parserhttps://www.esegece.com/products/openapi/parser/
sgcOpenAPI — pre-built SDKshttps://www.esegece.com/products/openapi/apis/
OpenAPI Generator — project homehttps://openapi-generator.tech/
OpenAPI Generator — GitHub repositoryhttps://github.com/OpenAPITools/openapi-generator
OpenAPI Generator — supported generators listhttps://github.com/OpenAPITools/openapi-generator/blob/master/docs/generators.md
OpenAPI Generator — releaseshttps://github.com/OpenAPITools/openapi-generator/releases
Swagger Codegen — product page (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 (network & OpenAPI mention)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 — product pagehttps://www.tmssoftware.com/site/xdata.asp
TMS XData — documentation indexhttps://doc.tmssoftware.com/biz/xdata/guide/index.html
TMS XData — OpenAPI support guidehttps://doc.tmssoftware.com/biz/xdata/guide/openapi.html
OpenAPI Delphi Generator (formerly XData importer)https://github.com/landgraf-dev/openapi-delphi-generator
Indy — project homepagehttps://www.indyproject.org/
Indy — GitHub repository (IndySockets/Indy)https://github.com/IndySockets/Indy
Indy — releases (latest tagged 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 — specification repositoryhttps://github.com/OAI/OpenAPI-Specification
OpenAPI Specification — authoritative HTML renderingshttps://spec.openapis.org/

sgcOpenAPI ausprobieren

Lade die kostenlose Trial-Edition herunter und generiere in Minuten dein erstes Pascal-SDK aus einer OpenAPI 3.x-Spezifikation.