Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
/*
  "myItemIntegrationService" er en antaget integrationsservice, som udstiller en GetPage funktion
  der kalder KITOS API over HTTP og returnerer data på POCO form dvs. en liste af MyItem objekter.
  
  OBS: For ODATA og deV1 fleste KITOS REST API'er benyttes terminologien "skip" og 
  "take(traditionel REST)/top(ODATA) parametre i stedet for pageNumber og pageSize, men denne
  kompleksitet forventes håndteret i "myItemIntegrationService"
*/
var exportedItems = new List<MyItem>()
var pageNumber = 0
const maxPageSize = 100
let currentPageItems = new List<MyItem>()

REPEAT
  //Indlæs datasæt
  currentPageItems = myItemIntegrationService.GetPage(pageNumber, maxPageSize)
  pageNumber = pageNumber + 1;
  exportedItems.AddRange(exportedItems);

//Hvis mindre data returneres end maxPageSize, så er der ikke mere data
UNTIL currentPageItems.Count < maxPageSize

...

Eksempler på URLer der anvender paginering:

API V1

OData: https://staging.kitos.dk/odata/Organizations(1)/ItSystemUsages?format=json&top=100&skip=100&orderby=ItSystem.Name&count=true

Alm. REST: https://staging.kitos.dk/api/ItSystemUsage?skip=100&take=100

API V2

https://kitos.dk/api/v2/it-systems?page=1&pageSize=100

Særligt for OData queries

...