GitFlic API


Пользователь

Описание структуры JSON-объекта, описывающего пользователя
Поле Тип Описание
id string Уникальный ID пользователя
username string Username пользователя
name string Имя пользователя
surname string Фамилия пользователя
fullName string Полное имя пользователя
avatar string Ссылка на аватар пользователя

GET /user

Запрос возвращает массив пользователей, есть возможность настройки количества отображаемых объектов на странице

Запрос Описание
GET /user Список всех пользователей

Responses

STATUS 200 пример JSON:

        
{
    "_embedded": {
        "userList": [
            {
                "id": "7cda0fdc-a201-495d-b4d6-6b0bfe8bbddf",
                "username": "user1",
                "name": "name",
                "surname": "surname",
                "fullName": "name surname",
                "avatar": "https://gitflic.ru/upload/img/4427cf28-6264-4224-b8bc-8ee5e6b3a467.jpg"
            },
            {
                "id": "166e63d7-a404-46b3-9c00-e46b43e29c21",
                "username": "user2",
                "name": "name",
                "surname": "surname",
                "fullName": "name surname",
                "avatar": "https://gitflic.ru/upload/img/197869df-e20b-4417-9a5f-d2442372699c.jpg"
            },
            {
                "id": "03105a7f-40c6-4c88-b80f-e87cd6ee60b2",
                "username": "user3",
                "name": "name",
                "surname": "surname",
                "fullName": "name surname",
                "avatar": "https://gitflic.ru/upload/img/17e7bcfe-4e17-4918-a6e0-aabce41d7259.jpg"
            },
            {
                "id": "abc0ebef-1501-4c5b-99ae-feaa153b1043",
                "username": "user4",
                "name": "name",
                "surname": "surname",
                "fullName": "name surname",
                "avatar": "https://gitflic.ru/upload/img/20a953f3-9206-40b6-a288-0e2bd0200ba8.jpg"
            },
            {
                "id": "61e8fd05-10f7-4361-909a-db72c2c33326",
                "username": "user5",
                "name": "name",
                "surname": "surname",
                "fullName": "name surname",
                "avatar": "https://gitflic.ru/static/image/avatar.jpg"
            },
            {
                "id": "25a7e267-5591-4d61-8192-b9842af9804d",
                "username": "user5",
                "name": "name",
                "surname": "surname",
                "fullName": "name surname",
                "avatar": "https://gitflic.ru/upload/img/6ea2b7e0-8ad8-4356-925f-7120f2ce03c1.jpg"
            },
            {
                "id": "b53e65ba-ce28-4cd4-b21d-3d3148dc7ef9",
                "username": "user6",
                "name": "name",
                "surname": "surname",
                "fullName": "name surname",
                "avatar": "https://gitflic.ru/upload/img/9db298e2-1cce-451f-9747-4072a95fe093.jpg"
            },
            {
                "id": "08918853-e008-4fec-b0af-12f5deee47af",
                "username": "user7",
                "name": "name",
                "surname": "surname",
                "fullName": "name surname",
                "avatar": "https://gitflic.ru/upload/img/3a0aa74f-dd72-4071-a323-bb3c7da2f84c.jpg"
            },
            {
                "id": "879090b7-ec5a-4815-9d01-2cc223673cb9",
                "username": "user8",
                "name": "name",
                "surname": "surname",
                "fullName": "name surname",
                "avatar": "https://gitflic.ru/upload/img/64860fb2-b933-466b-b572-31cedcdb8e44.jpg"
            },
            {
                "id": "ad0dc274-87e7-4ffe-9088-68805d8c81eb",
                "username": "user234",
                "name": "name",
                "surname": "surname",
                "fullName": "name surname",
                "avatar": "https://gitflic.ru/upload/img/61ca521f-1985-4a66-a689-b59576951a5c.jpg"
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 12,
        "totalPages": 2,
        "number": 0
    }
}
        
    


STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


GET /user/me

Запрос возвращает пользователя

Запрос Описание
GET /user/me Информация об авторизованном пользователе

Responses

STATUS 200 пример JSON:

{
    "id": "fbc3d462-a2e4-42bf-a6ec-6990c978d786",
    "username": "user1",
    "name": "name",
    "surname": "surname",
    "fullName": "name surname",
    "avatar": "https://gitflic.ru/upload/img/2731a61f-de57-44ee-b6e1-a5ac13429653.jpg"
}

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


GET /user/{userAlias}/followers

Запрос возвращает пользователей, которые подписаны на пользователя с данным алиасом

Запрос Описание
GET /user/{userAlias}/followers Информация о подписчиках пользователя по его алиасу
переменная пути Тип Описание
userAlias String псевдоним пользователя

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "content": [
        {
            "name": Name,
            "id": 1,
            "fullName": "Name Surname",
            "avatar": "/upload/img/6ebb3414-56f4-4d75-8eb4-e250f5c5d80c.jpg",
            "username": "test",
            "company": null,
            "surname": Surname,
            "createdAt": "2023-03-07T15:21:49.405942",
            "registrationDateString": "7 марта 2023 г.",
            "subscribed": false
        }
    ],
    "pageable": {
        "sort": {
            "empty": false,
            "unsorted": false,
            "sorted": true
        },
        "offset": 0,
        "pageNumber": 0,
        "pageSize": 12,
        "paged": true,
        "unpaged": false
    },
    "last": true,
    "totalElements": 1,
    "totalPages": 1,
    "size": 12,
    "number": 0,
    "sort": {
        "empty": false,
        "unsorted": false,
        "sorted": true
    },
    "first": true,
    "numberOfElements": 1,
    "empty": false
}
    
  

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


GET /user/me/followers

Запрос возвращает пользователей, которые подписаны на авторизованного пользователя

Запрос Описание
GET /user/me/followers Информация о подписчиках авторизованного пользователя

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "content": [
        {
            "name": Name,
            "id": 1,
            "fullName": "Name Surname",
            "avatar": "/upload/img/6ebb3414-56f4-4d75-8eb4-e250f5c5d80c.jpg",
            "username": "test",
            "company": null,
            "surname": Surname,
            "createdAt": "2023-03-07T15:21:49.405942",
            "registrationDateString": "7 марта 2023 г.",
            "subscribed": false
        }
    ],
    "pageable": {
        "sort": {
            "empty": false,
            "unsorted": false,
            "sorted": true
        },
        "offset": 0,
        "pageNumber": 0,
        "pageSize": 12,
        "paged": true,
        "unpaged": false
    },
    "last": true,
    "totalElements": 1,
    "totalPages": 1,
    "size": 12,
    "number": 0,
    "sort": {
        "empty": false,
        "unsorted": false,
        "sorted": true
    },
    "first": true,
    "numberOfElements": 1,
    "empty": false
}
    
  

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


GET /user/{userAlias}/following

Запрос возвращает пользователей, на которых подписан указанный пользователь

Запрос Описание
GET /user/{userAlias}/following Информация о пользователях, на которых подписан указанный пользователь
переменная пути Тип Описание
userAlias String псевдоним пользователя

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "content": [
        {
            "name": Name,
            "id": 1,
            "fullName": "Name Surname",
            "avatar": "/upload/img/6ebb3414-56f4-4d75-8eb4-e250f5c5d80c.jpg",
            "username": "test",
            "company": null,
            "surname": Surname,
            "createdAt": "2023-03-07T15:21:49.405942",
            "registrationDateString": "7 марта 2023 г.",
            "subscribed": false
        }
    ],
    "pageable": {
        "sort": {
            "empty": false,
            "unsorted": false,
            "sorted": true
        },
        "offset": 0,
        "pageNumber": 0,
        "pageSize": 12,
        "paged": true,
        "unpaged": false
    },
    "last": true,
    "totalElements": 1,
    "totalPages": 1,
    "size": 12,
    "number": 0,
    "sort": {
        "empty": false,
        "unsorted": false,
        "sorted": true
    },
    "first": true,
    "numberOfElements": 1,
    "empty": false
}
    
  

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


GET /user/me/following

Запрос возвращает пользователей, на которых подписан авторизованный пользователь

Запрос Описание
GET /user/me/following Информация о пользователях, на которых подписан авторизованный пользователь

Responses

STATUS 200 пример JSON:

Пример ответа
    
{
    "content": [
        {
            "name": Name,
            "id": 1,
            "fullName": "Name Surname",
            "avatar": "/upload/img/6ebb3414-56f4-4d75-8eb4-e250f5c5d80c.jpg",
            "username": "test",
            "company": null,
            "surname": Surname,
            "createdAt": "2023-03-07T15:21:49.405942",
            "registrationDateString": "7 марта 2023 г.",
            "subscribed": false
        }
    ],
    "pageable": {
        "sort": {
            "empty": false,
            "unsorted": false,
            "sorted": true
        },
        "offset": 0,
        "pageNumber": 0,
        "pageSize": 12,
        "paged": true,
        "unpaged": false
    },
    "last": true,
    "totalElements": 1,
    "totalPages": 1,
    "size": 12,
    "number": 0,
    "sort": {
        "empty": false,
        "unsorted": false,
        "sorted": true
    },
    "first": true,
    "numberOfElements": 1,
    "empty": false
}
    
  

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


GET /user/{userAlias}

Запрос возвращает пользователя

Запрос Описание
GET user/{userAlias} Информация о пользователе по его алиасу
переменная пути Тип Описание
userAlias String псевдоним пользователя

Responses

STATUS 200 пример JSON:

{
    "id": "fbc3d462-a2e4-42bf-a6ec-6990c978d786",
    "username": "user2",
    "name": "name",
    "surname": "surname",
    "fullName": "name surname",
    "avatar": "https://gitflic.ru/upload/img/2731a61f-de57-44ee-b6e1-a5ac13429653.jpg"
}

STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.


GET /user/{userAlias}/projects

Запрос возвращает публичные проекты пользователя

Запрос Описание
GET /user/{userAlias}/projects Получить информацию о всех публичных проектах пользователя по его алиасу и тех приватных, к которым у запрашивающего пользователя есть доступ
Переменная пути запроса Тип Описание
userAlias String Пседоним пользователя

Responses

STATUS 200 - пример JSON:

{
    "_embedded": {
        "projectList": [
            {
                "id": "f3f322a8-741c-43f8-bdf1-9b163a505a79",
                "title": "test-project",
                "description": "",
                "alias": "test-project",
                "ownerAlias": "test",
                "httpTransportUrl": "https://gitflic.ru/project/test/test-project.git",
                "sshTransportUrl": "git@gitflic.ru:test/test-project.git",
                "language": "Markdown",
                "selectorTitle": "test-project",
                "private": false,
                "selectorOwnerAlias": "test",
                "selectorId": "f3f322a8-741c-43f8-bdf1-9b163a505a79",
                "selectorAlias": "test-project",
                "isDeleted": false,
                "hexColor": null,
                "selectorColor": null,
                "selectorHash": null
            }
        ]
    },
    "page": {
        "size": 10,
        "totalElements": 1,
        "totalPages": 1,
        "number": 0
    }
}
 


STATUS 403 - Нет прав для доступа.

STATUS 404 - Данные по запросу не найдены.

В данной статье

Документация