All list endpoints that return multiple items use page-based pagination powered by Spring Data’s Page<T>.
Request Parameters
| Parameter | Type | Default | Description |
|---|
page | integer | 0 | Zero-based page index |
size | integer | 20 | Number of items per page (max 100) |
sort | string | varies | Sort 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}"
{
"content": [
{ "id": 1, "villeDepart": "Paris", "villeArrivee": "Lyon", ... },
{ "id": 2, "villeDepart": "Marseille", "villeArrivee": "Toulouse", ... }
],
"page": {
"number": 0,
"size": 10,
"totalElements": 47,
"totalPages": 5
}
}
Response Fields
| Field | Type | Description |
|---|
content | array | The items for the current page |
page.number | integer | Current page index (zero-based) |
page.size | integer | Number of items per page |
page.totalElements | integer | Total number of items across all pages |
page.totalPages | integer | Total number of pages |
Navigating 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.