itemsPerPage anpassen und Grenzen setzen
itemsPerPage anpassen und Grenzen setzen
~12 Min. Lesezeit Zuletzt aktualisiert am 8. August 2026
Der STANDARD-Wert 30 lässt sich SOWOHL vom Client PRO Anfrage überschreiben ALS AUCH global PRO Resource konfigurieren.
itemsPerPage pro Anfrage überschreiben
curl -k 'https://localhost/api/projects?itemsPerPage=10'Liefert NUR 10 statt 30 Projekte – der Query-Parameter itemsPerPage funktioniert IMMER, OHNE weitere Konfiguration nötig.
Die Standard-Seitengröße ändern
#[ApiResource(
paginationItemsPerPage: 10,
normalizationContext: ['groups' => ['project:read']],
denormalizationContext: ['groups' => ['project:write']]
)]
Ab jetzt liefert GET /api/projects STANDARDMÄSSIG 10 statt 30 pro Seite – ?itemsPerPage=X funktioniert WEITERHIN, um diesen neuen Standardwert bei Bedarf zu überschreiben.
Eine Obergrenze setzen
#[ApiResource(
paginationItemsPerPage: 10,
paginationMaximumItemsPerPage: 50,
// ...
)]
curl -k 'https://localhost/api/projects?itemsPerPage=1000'Achtung: OHNE paginationMaximumItemsPerPage könnte EIN Client ?itemsPerPage=100000 anfragen und damit die Datenbank UNNÖTIG belasten – die Obergrenze BEGRENZT den tatsächlich angewendeten Wert auf das konfigurierte Maximum, OHNE einen Fehler zu werfen.
Pagination komplett abschalten
#[ApiResource(
paginationEnabled: false,
// ...
)]
SINNVOLL für Resources mit GARANTIERT wenigen Einträgen wie Tag (Kapitel 12) – dort ist eine feste, kurze Liste OHNE Pagination-Overhead die PRAKTISCHERE Wahl.
Tipp: ALLE drei Parameter (paginationItemsPerPage, paginationMaximumItemsPerPage, paginationEnabled) lassen sich AUCH pro Operation statt pro ganzer Resource setzen – GENAU wie description in Kapitel 11.