Zum Inhalt springen

PHP-REST-Client-Generator für OpenAPI™

Gib eine OpenAPI-Spezifikation ab und bekomm ein fertiges Composer-Paket zurück — typisierte Modelle, einen Client, die Operationen und die Authentifizierung, dazu Manifest, LICENSE und README.

Kostenlos. Es gibt nichts zu kaufen und nichts freizuschalten.

Was dabei herauskommt

Ein eigenständiges Paket, das sich installieren lässt wie jedes andere — ein SDK, kein Ordner voller Schnipsel.

  • Client und Konfiguration

    Ein Einstiegspunkt, der die Basis-URL, den HTTP-Client und die Zugangsdaten hält.

  • Typisierte Modelle

    Jedes Schema der Spezifikation als PHP-Klasse, statt Arrays mit Zeichenketten-Schlüsseln.

  • Operationen und Parameter

    Eine Klasse je Operation, dazu eigene Objekte für Query-, Header- und Formularparameter.

  • Authentifizierung

    Die Verfahren, die das Dokument deklariert — mit Beispielen, wenn es welche zulässt.

  • Eingebettete Runtime

    Die HTTP-Schicht liegt im Paket selbst. Nichts, was daneben noch versioniert werden müsste.

  • Manifest und Papiere

    composer.json, LICENSE, README und Beispiele — im Manifest steht nur, was der erzeugte Code wirklich braucht.

Sauberer Code ist das Ziel, nicht der Zufall

Der Generator wird selbst gegen PHPStan auf der höchsten Stufe geprüft, mit mehreren strengen Zusatzregelwerken obendrauf, und gegen Psalm auf der strengsten Stufe. Derselbe Maßstab wird an das angelegt, was dabei herauskommt.

Ein Versprechen, dass jede erzeugte Zeile in jedem Projekt und unter jeder Analyse-Konfiguration ohne Befund durchläuft, ist das nicht. Es ist der Anspruch, an dem der Generator sich messen lassen muss.

Durchgehend typisiert
declare(strict_types=1) in jeder Datei, Typen an jedem Parameter und jedem Rückgabewert, und Generics im PHPDoc dort, wo PHP selbst nicht genau genug wird.
Unveränderlich
final readonly Klassen ohne Setter. Geändert wird über einen Builder: toBuilder() übernimmt die Werte, build() gibt ein neues Objekt zurück — ein Modell ändert sich nie unter der Hand.
Kein rätselhaftes null
Ein optionales Feld bekommt einen eigenen Typ. Ob ein Wert fehlt oder bewusst leer ist, steht damit im Typ und nicht in einem Kommentar.

Am besten liest du es selbst nach

Ein vollständig erzeugtes Paket, kein Ausschnitt: 62 Modelle, 7 Operationen und über 200 Dateien — Client, Authentifizierung, Validierung, Manifest, LICENSE und Beispiele. Erzeugt aus der öffentlichen Spezifikation der DHL Parcel DE Shipping API (Post & Parcel Germany).

Generiertes Beispiel-Paket auf GitHub ansehenÖffnet ein neues Fenster

Ein inoffizieller Client, erzeugt aus einer öffentlich dokumentierten Schnittstelle — nicht von DHL herausgegeben und nicht von DHL unterstützt.

So läuft es

Drei Schritte, und der mittlere ist der, an dem du noch etwas ändern kannst.

  1. Spezifikation abgeben

    Lad die Datei hoch. YAML oder JSON, beides geht.

  2. Nachsehen, was drinsteht

    Bevor etwas erzeugt wird, wird das Dokument gelesen: Titel, Version, Operationen, Pfade, Sicherheitsverfahren, Warnungen. Paketname und Namensraum werden daraus vorgeschlagen — überschreiben kannst du sie.

  3. Paket abholen

    Als ZIP zum Herunterladen oder direkt als Commit in dein eigenes GitHub-Repository.

Was du wissen solltest

OpenAPI 2.0 bis 3.2
Welche Version vorliegt, wird aus dem Dokument gelesen und nicht abgefragt. 2.0, 3.0, 3.1 und 3.2 werden verstanden.
Bis 5 MB je Dokument
Größer als das nehme ich nicht an.
ZIP oder dein Repository
Ohne GitHub bekommst du ein Archiv. Mit GitHub geht das Paket als Commit in ein Repository, das du aussuchst.
Folgeversionen werden gemessen
Geht ein Paket ein zweites Mal in dasselbe Repository, wird vorher verglichen, was sich an der öffentlichen Schnittstelle geändert hat. Die Versionsnummer folgt daraus — bestätigen musst du sie.
Nur echte Abhängigkeiten
Das erzeugte composer.json nennt, was der Code benutzt, und nicht, was der Generator sonst noch kann.
Keine Java-Toolchain
Zum Erzeugen musst du nichts installieren: kein JAR, kein Docker-Image, keine Laufzeitumgebung neben der, in der du ohnehin schreibst. Erzeugt wird hier.
Das Paket gehört dir
Composer-Vendor und Copyright-Vermerk im LICENSE kommen aus deinem Konto. Mein Name steht nirgends darin.

Häufige Fragen

Was kostet das?
Nichts. Es gibt keinen Tarif, keine Grenze, die sich freikaufen ließe, und nichts, was nach einer Weile abläuft.
Wem gehört das erzeugte Paket?
Dir. Der Composer-Vendor und der Copyright-Halter im LICENSE werden aus deinem Konto aufgelöst, nicht aus meinem — du kannst das Paket veröffentlichen, umbenennen oder wegwerfen, ohne jemanden zu fragen.
Was passiert mit meiner Spezifikation?
Sie liegt in deinem Konto, bis du die Anfrage löschst — dann verschwindet sie mitsamt dem erzeugten Paket. Was im Einzelnen gespeichert wird, steht in der Datenschutzerklärung. Datenschutzerklärung lesen
Welche OpenAPI-Versionen werden gelesen?
OpenAPI 2.0, 3.0, 3.1 und 3.2. Welche davon vorliegt, erkennt der Generator am Dokument selbst.
Brauche ich ein GitHub-Konto?
Nein. Ohne GitHub bekommst du ein ZIP. Verbindest du eines, kann das Paket stattdessen direkt in ein Repository deiner Wahl committet werden.
Hieß das früher nicht Swagger?
OpenAPI 2.0 ist die frühere Swagger-Spezifikation 2.0. Weist dein Dokument sich als solche aus, ist es hier richtig.

Aus deiner Spezifikation wird ein Paket

Ein Konto genügt, um es auszuprobieren.

Kostenlos registrieren

Build ssr-44f9985 · 18.10.2026, 14:40

Marken

OpenAPI ist eine Marke der Linux Foundation. Dieses Projekt gehört NICHT zur OpenAPI Initiative, wird von ihr nicht betrieben und nicht unterstützt. GitHub ist eine Marke von GitHub, Inc. Swagger ist eine Marke von SmartBear Software. DHL ist eine Marke der Deutsche Post AG.