Skip to main content

Pagination

All list endpoints that return multiple items use page-based pagination powered by Spring Data’s Page<T>.

Request Parameters

ParameterTypeDefaultDescription
pageinteger0Zero-based page index
sizeinteger20Number of items per page (max 100)
sortstringvariesSort field and direction (e.g., createdAt,desc)

Example Request

curl "https://api.colismove.com/v1/api/annonces?page=0&size=10&sort=dateDepart,asc" \
  -H "Authorization: Bearer {token}"

Response Format

{
  "content": [
    { "id": 1, "villeDepart": "Paris", "villeArrivee": "Lyon", ... },
    { "id": 2, "villeDepart": "Marseille", "villeArrivee": "Toulouse", ... }
  ],
  "page": {
    "number": 0,
    "size": 10,
    "totalElements": 47,
    "totalPages": 5
  }
}

Response Fields

FieldTypeDescription
contentarrayThe items for the current page
page.numberintegerCurrent page index (zero-based)
page.sizeintegerNumber of items per page
page.totalElementsintegerTotal number of items across all pages
page.totalPagesintegerTotal number of pages
To iterate through all pages:
let page = 0;
let totalPages = 1;

while (page < totalPages) {
  const response = await fetch(`/v1/api/annonces?page=${page}&size=20`);
  const data = await response.json();
  
  // Process data.content
  
  totalPages = data.page.totalPages;
  page++;
}
The maximum page size is 100 items. Requests exceeding this limit will be capped automatically.