Pagination
Endpoints that return lists use pagination to improve performance.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 0 | Page number (starts at 0) |
size | integer | 20 | Number of items per page (max 100) |
sort | string | - | Sorting (format: field,direction) |
Examples
Simple Pagination
GET /v1/appointments?page=0&size=20
With Sorting
# Sort by creation date descending
GET /v1/appointments?page=0&size=20&sort=createdAt,desc
# Sort by name ascending
GET /v1/departments?sort=name,asc
Response Format
{
"content": [
{ "id": 1, "..." },
{ "id": 2, "..." }
],
"pageable": {
"pageNumber": 0,
"pageSize": 20,
"offset": 0
},
"totalElements": 150,
"totalPages": 8,
"last": false,
"first": true,
"numberOfElements": 20
}
Useful Fields
totalElements: Total number of elementstotalPages: Total number of pageslast: Is last page?first: Is first page?numberOfElements: Number of elements in this page
Best Practices
- Start with a reasonable page size (20-50)
- Use sorting for deterministic order
- Don't request pages that are too large (max 100)