PATCH - Обновить пользователя по ID
Описание
Эндпоинт PATCH /users/{id}
используется для частичного обновления данных конкретного пользователя, идентифицированного с помощью уникального идентификатора (ID). Это позволяет изменить одно или несколько атрибутов пользователя без воздействия на остальные данные пользователя.
Аутентификация
Заголовок | Описание | Пример |
---|---|---|
Authorization | Токен для аутентификации. | Authorization: abcdef1234567890 |
Примечания:
- Токены генерируются на веб-сайте и должны быть включены в каждый запрос.
- Токен должен быть помещен в заголовок
Authorization
. - Если токен недействителен или истек, сервер вернет ошибку аутентификации.
Параметры пути
Параметр | Тип | Описание | Пример |
---|---|---|---|
id | UUID | Уникальный идентификатор пользователя. | be63c536-6cf3-4866-8970-37a956e3f403 |
Тело запроса
Поле | Тип | Описание | Обязательное |
---|---|---|---|
firstName | строка | Имя пользователя. | Нет |
middleName | строка | Отчество пользователя. | Нет |
lastName | строка | Фамилия пользователя. | Нет |
employeeNo | строка | Номер сотрудника. | Нет |
employeePin | строка | PIN сотрудника. | Нет |
строка | Адрес электронной почты пользователя. | Нет | |
phone | строка | Номер телефона пользователя. | Нет |
language | строка | Предпочтительный язык пользователя (например, en ). | Нет |
role | строка | Роль, назначенная пользователю (например, ADMIN ). | Нет |
locationIds | массив строк | Список ID местоположений, связанных с пользователем. | Нет |
tags | массив строк | Теги, связанные с пользователем. | Нет |
Пример тела запроса:
{
"employeeNo": "1234",
"employeePin": "4321"
}
Пример запроса
PATCH /users/be63c536-6cf3-4866-8970-37a956e3f403
Authorization: abcdef1234567890
Content-Type: application/json
{
"employeeNo": "1234",
"employeePin": "4321"
}
Пример успешного ответа
Тело ответа:
{
"id": "be63c536-6cf3-4866-8970-37a956e3f403",
"firstName": "John",
"middleName": "Lee",
"lastName": "Fox",
"employeeNo": "1234",
"employeePin": "4321",
"email": "[email protected]",
"phone": "80291110099",
"language": "en",
"role": "ADMIN",
"status": "ACTIVE",
"photoId": "a7c6f740-2a42-449c-a03b-b8d36aa4709a",
"locationIds": [
"99b770c0-2396-43d3-b109-85a9d73df7b1",
"e1dfeaba-4318-4411-be91-f8af5214dd02"
],
"tags": [
"tag1",
"tag2"
],
"userLinked": true
}
Примеры ошибок
1. Ошибка валидации
Происходит, когда одно или несколько полей не проходят проверку, например, отсутствуют обязательные поля или неверный формат данных.
HTTP Статус Код: 400 Bad Request
Тело ответа:
{
"message": "validation failed",
"code": "validation.failed",
"timestamp": "2023-03-07T05:57:59.315Z",
"details": [
{
"message": "must not be null",
"code": "validation.notnull.failed",
"identifier": "role"
}
]
}
Описание: Одно или несколько обязательных полей отсутствуют или содержат неверные значения.
2. Ресурс не найден
Происходит, когда пользователь с указанным ID не существует в системе.
HTTP Статус Код: 404 Not Found
Тело ответа:
{
"message": "resource wasn't found",
"code": "not.found",
"timestamp": "2023-03-07T05:57:59.315Z"
}
Описание: Пользователь с указанным ID не найден.
3. Несоответствие типа контента
Происходит, когда заголовок Content-Type
в запросе не соответствует ожидаемому формату.
HTTP Статус Код: 406 Not Acceptable
Тело ответа:
{
"message": "mismatch in the types of content",
"code": "not.acceptable",
"timestamp": "2023-03-07T05:57:59.315Z"
}
Описание: Заголовок Content-Type
запроса не соответствует ожидаемому типу (например, application/json
).
4. Внутренняя ошибка сервера
Происходит, когда на сервере произошла непредвиденная ошибка.
HTTP Статус Код: 500 Internal Server Error
Тело ответа:
{
"message": "internal server error",
"code": "internal.server.error",
"timestamp": "2023-03-07T05:57:59.315Z"
}
Описание: Произошла ошибка на серверной стороне во время обработки запроса.
Резюме
Эндпоинт PATCH /users/{id}
позволяет частично обновлять данные пользователя с использованием его уникального ID. Убедитесь, что в запросе указан действующий токен в заголовке Authorization
, а тело запроса содержит правильные и корректно отформатированные данные. Обрабатывайте возможные ошибки, такие как сбои в валидации, отсутствие ресурса, несоответствие типа контента и проблемы на сервере для обеспечения стабильной работы API.