GitFlic API


Пагинация

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

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