sylius-api-catalog — der Katalog und der Weg dorthin.
RFC 9727 unter /.well-known/api-catalog, dazu die Link-Header, die ihn bewerben. Beides steckt in einem Paket, weil §3 den Link-Header als Discovery-Weg für den Katalog definiert — es sind dieselben Daten in zwei Serialisierungen. Gelistet wird, was die installierten Bundles anmelden.
Ein Katalog, den niemand findet, ist kein Discovery-Mechanismus
Katalog und Link-Header stecken bewusst in einem Paket. RFC 9727 definiert in §3 den Link-Header als den Weg, auf dem ein Client den Katalog überhaupt entdeckt — es sind dieselben Daten in zwei Serialisierungen, nicht zwei Funktionen. Auf zwei Pakete verteilt, wäre jede der beiden Hälften einzeln installierbar: ein Katalog, auf den nichts zeigt, oder Header, die auf nichts zeigen. Beide Fälle sehen bei einer Prüfung von außen aus wie eine kaputte Implementierung.
Der Katalog listet, was die installierten Bundles anmelden, ohne sie zu kennen. Damit gibt es keine zentrale Liste, die bei jedem neuen Endpunkt nachgezogen werden müsste — und keine Kopplung in die falsche Richtung, bei der das generische Katalog-Paket seine eigenen Abnehmer hart referenzieren müsste. Ein Bundle, das später dazukommt, erscheint im Katalog, ohne dass dieses Paket geändert wird.
Link-Header werden angehängt, nie ersetzt. Sylius und API Platform setzen eigene Link-Header, unter anderem für Hydra und Preload-Hinweise. Ein überschreibender Header ist ein Fehler, der die Discovery erst herstellt und dabei eine andere zerstört — und der in einem isolierten Test nicht auffällt, weil dort schlicht keine anderen Header da sind.
Quellcode & Doku
Composer-Paket
MIT · Sylius 2.0+ · PHP 8.2+
composer require koh/sylius-api-catalog
Gebaut, getestet und unter MIT veröffentlicht. Die öffentliche Distribution über Packagist wird vorbereitet (coming soon).
Teil der Familie
MIT
Dieses Paket gehört zu koh/sylius-agent-ready — siebzehn Bundles, die einen Sylius-Shop für KI-Agenten benutzbar machen. Jedes ist einzeln einsetzbar.