#[ApiResource] mit mercure: true
#[ApiResource] mit mercure: true
~12 Min. Lesezeit Zuletzt aktualisiert am 8. August 2026
MIT dem Hub aus Kapitel 67 vorhanden, ist die Aktivierung für EINE Resource TRIVIAL – EIN Parameter genügt, GENAU im Stil der bisherigen #[ApiResource]-Konfiguration.
Mercure aktivieren
#[ApiResource(
mercure: true,
normalizationContext: ['groups' => ['project:read']],
denormalizationContext: ['groups' => ['project:write']]
)]
AB JETZT publiziert API Platform AUTOMATISCH ein Update zum Hub, SOBALD ein Project erstellt, geändert oder gelöscht wird – OHNE eine EINZIGE Zeile eigenen Publikations-Codes.
Das Topic verstehen
STANDARDMÄSSIG ist das Topic die IRI der Resource: https://localhost/api/projects/1 für EIN einzelnes Project – EIN Client, der GENAU DIESES Topic abonniert, erhält NUR Updates für DIESES Project.
Updates auf Collection-Ebene
#[ApiResource(
mercure: ['private' => false],
// ...
)]
Statt true nimmt mercure AUCH ein KONFIGURATIONS-Array entgegen – 'private' => false macht Updates ÖFFENTLICH abonnierbar (OHNE JWT-Autorisierung), was für UNSER Projekt mit privaten, nutzergebundenen Projekten (Block 6) NICHT die richtige Wahl ist, hier NUR zur VOLLSTÄNDIGKEIT gezeigt. Kapitel 70 zeigt die PRIVATE, autorisierte Variante.
Was genau publiziert wird
API Platform publiziert den KOMPLETTEN, SERIALISIERTEN Zustand der Resource (GENAU wie eine normale GET-Antwort, inklusive normalizationContext-Gruppen aus Kapitel 23) – der Client MUSS die Nachricht NICHT selbst gegen die API abgleichen, um an die AKTUELLEN Daten zu kommen.
Tipp: mercure: true lässt sich AUCH auf Task und Tag aktivieren – für UNSER Projekt konzentrieren sich die folgenden Kapitel auf Project, das GLEICHE Muster überträgt sich 1:1 auf JEDE andere Resource.