Пагинация
Для запросов, которые возвращают список каких либо объектов, есть возможность пагинации. Для этого в запрос нужно добавить следующие параметры:
Параметр | Тип | Описание |
---|---|---|
page |
int | Номер страницы |
size |
int | Количество объектов, отображаемых на странице |
Если не указать количество объектов, отображаемых на странице, то по умолчанию их будет 10.
В объекте пагинации есть 2 основных объекта _embedded и page.
Структура и описание JSON-объекта _embedded:
В объекте _embedded одно поле которое содержит массив. Для различных объектов название поля может отличаться:
Для пользователей
Поле | Тип | Описание |
---|---|---|
userList |
array | Массив состоящий из объектов пользователей |
Для проектов
Поле | Тип | Описание |
---|---|---|
projectList |
array | Массив состоящий из объектов проектов |
Для команд
Поле | Тип | Описание |
---|---|---|
teamList |
array | Массив состоящий из объектов команд |
Для компаний
Поле | Тип | Описание |
---|---|---|
companyList |
array | Массив состоящий из объектов компаний |
Структура и описание JSON-объекта page:
Поле | Тип | Описание |
---|---|---|
size |
number | Максимальное количество элементов, отображаемых на странице |
totalElements |
number | Общее количество элементов |
totalPages |
number | Общее количество страниц |
number |
number | Текущая страница |
Пример параметра запроса
Запрос /user?page=2&size=2
Возвращаемый JSON:
{
"_embedded": {
"userList": [
{
"id": "61e8fd05-10f7-4361-909a-db72c2c33326",
"username": "user1",
"name": "name",
"surname": "surname",
"fullName": "name surname",
"avatar": "https://gitflic.ru/upload/img/6ea2b7e0-8ad8-4356-925f-7120f2ce03c1.jpg"
},
{
"id": "25a7e267-5591-4d61-8192-b9842af9804d",
"username": "user2",
"name": "name",
"surname": "surname",
"fullName": "name surname",
"avatar": "https://gitflic.ru/upload/img/6ea2b7e0-8ad8-4356-925f-7120f2ce03c1.jpg"
}
]
},
"page": {
"size": 2,
"totalElements": 12,
"totalPages": 6,
"number": 2
}
}