Hi, top om paging rules module toe te voegen aan de ADR. belangrijk onderwerp. Paar opmerkingen:
- in principe is page/pageSize een goede oplossing op statische sets, maar het is wel minder flexibel. dan offset/limit. Met offset/limit (ook geschikt voor statische sets) geef je de client meer flexibiliteit (de offset hoeft geen heel aantal pagina's te zijn)
- sommige dataopslag technieken, hebben eigen paging methodes die vaak veel efficiënter zijn dan standaard page/pageSize of offset/limit (gebruik daarvan wordt dan sterk ontraden ivm perfomance issues). Vb: CosmosDB werkt met een
continuation token dat in de HTTP-response header geretourneerd wordt en dat in het request van de volgende page weer meegegeven wordt al query param. Hoe wil je daar mee omgaan?
- ik weet niet zeker of je dat in de rules moet vastleggen, maar ik zou altijd server-side de max toelaatbare pageSize/limit bepalen (kan natuurlijk per operation verschillen, de ene payload is de andere niet) om te voorkomen je last krijgt van clients die te grote pages opvragen. Een te grote pageSize/limit moet dan afgekeurd worden met een HTTP-400
- ik heb een design pattern ontwikkeld waarmee je client een grote dataset kan ophalen in pages waarbij hij (1) zeker weet dat hij alle pages ontvangen heeft en (2) zeker weet dat alle pages bij elkaar horen, ook wanneer een nieuwe versie van die dataset gepubliceerd wordt terwijl de client nog bezig is met het ophalen van pages van de oudere set. Niet uniek maar wel handig. Deel ik graag als daar behoefte aan is
Hi, top om paging rules module toe te voegen aan de ADR. belangrijk onderwerp. Paar opmerkingen:
continuation tokendat in de HTTP-response header geretourneerd wordt en dat in het request van de volgende page weer meegegeven wordt al query param. Hoe wil je daar mee omgaan?