Пагинация


Для запросов, которые возвращают список каких либо объектов, есть возможность пагинации. Для этого в запрос нужно добавить следующие параметры:

Параметр Тип Описание
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
    }
}