PATCH - Частичное обновление локации
Эндпоинт PATCH /locations/{id}
позволяет обновить конкретные поля существующей локации с использованием её уникального идентификатора. В отличие от PUT, эта операция изменяет только указанные поля, оставляя остальные без изменений.
Формат запроса
HTTP Метод: PATCH
Эндпоинт: /locations/{id}
Параметр пути:
- id: Уникальный идентификатор локации для обновления (в формате UUID).
Пример тела запроса:
{
"name": "W002"
}
Успешный ответ
Код ответа:
200 OK
Пример тела ответа:
{
"id": "638b90c5-7965-49ae-a02b-1b190cb216db",
"name": "W002",
"address": "Walmart 11,197",
"latitude": 51.0966229,
"longitude": -138.491986,
"tags": [
"tag1"
],
"graphicPlanIds": [
"3a1da1c9-0873-4bdc-b1f1-7343b29fdc27",
"14b8ec6b-8ee2-4533-aedd-b82691f19af2"
]
}
Ошибки
400 Bad Request - Неверные данные запроса
Происходит, когда предоставленные данные некорректны, например, неправильный формат ID или некорректные значения полей.
Пример тела ответа:
{
"message": "invalid input data",
"code": "input.data.invalid",
"timestamp": "2023-03-07T05:57:59.315Z",
"details": [
{
"message": "invalid data type",
"code": "data.type.invalid",
"identifier": "id",
"args": [
"[UUID]"
]
}
]
}
Решение:
- Убедитесь, что
id
в правильном формате UUID. - Проверьте, что все обновляемые поля содержат корректные данные.
404 Not Found - Ресурс не найден
Происходит, когда указанный id
локации не существует в базе данных.
Пример тела ответа:
{
"message": "resource wasn't found",
"code": "not.found",
"timestamp": "2023-03-07T05:57:59.315Z"
}
Решение:
- Проверьте правильность
id
перед отправкой запроса.
406 Not Acceptable - Несоответствие типа контента
Происходит, когда Content-Type
или формат данных в запросе не поддерживаются.
Пример тела ответа:
{
"message": "mismatch in the types of content",
"code": "not.acceptable",
"timestamp": "2023-03-07T05:57:59.315Z"
}
Решение:
- Убедитесь, что заголовок
Content-Type
установлен в значениеapplication/json
.
500 Internal Server Error - Внутренняя ошибка сервера
Происходит, когда возникает неожиданная ошибка на сервере.
Пример тела ответа:
{
"message": "internal server error",
"code": "internal.server.error",
"timestamp": "2023-03-07T05:57:59.315Z"
}
Решение:
- Попробуйте повторить запрос позже или обратитесь в техническую поддержку.
Заключение
Эндпоинт PATCH /locations/{id}
предназначен для частичных обновлений, что делает его эффективным для изменения конкретных полей локации. Ответы об ошибках ясны и содержат полезные детали, что помогает в устранении проблем с запросами.