Skip to main content

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} предназначен для частичных обновлений, что делает его эффективным для изменения конкретных полей локации. Ответы об ошибках ясны и содержат полезные детали, что помогает в устранении проблем с запросами.