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


Описание структуры 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 - Данные по запросу не найдены.


Метод для вывода пользователя по uuid

GET /user/{uuid}

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

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

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}/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/{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 - Данные по запросу не найдены.


Подписки пользователя

GET /user/following/{userAlias}

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

Переменная пути запроса Тип Описание
userAlias String Псевдоним пользователя (/me для текущего пользователя)

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 - Данные по запросу не найдены.

Создание пользователя

Данный метод работает только при наличии прав администратора.

POST /user

Запрос возвращает информацию о созданном пользователе.

Request

Поддерживаемый формат json

Структура тела POST-запроса:

{
    "email": "email@local.ru",
    "password": "password",
    "alias": "alias"
}
Параметр Описание
email E-mail создаваемого пользователя
password Пароль создаваемого пользователя
alias Алиас создаваемого пользователя

Responses

STATUS 200 - пример JSON:

Пример ответа
    
{
    id:"f3657c3c-65dc-41ef-9346-917acb676944"
    username:"apiuser12332"
    name:null
    surname:null
    fullName:"apiuser12332"
    avatar:"http://localhost:8080/upload/img/5c10b16d-bccb-4207-95bb-76443bc44055.png"
    cover:null
}
    
  


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

STATUS 422 - Пользователь с такими данными уже существует или введены некорректные данные.