Обновление связи
Запрос
| Тип | Метод |
|---|---|
PUT |
/logmule_go_flows/update |
Описание: при выполнении запроса будет обновлена информация о связи.
Работает по принципу частичного обновления, т.е. будут обновлены только те поля модели, которые были переданы в запросе.
Позволяет также управлять связями многие ко многим с другими моделями через поле _relations.
Ключами в поле _relations могут быть названия полей моделей, ссылающиеся на другие. Например, если у модели связь с моделью правил корреляции и в нем хранится объект связанного правила, то это поле можно использовать при управлении данной связью.
Управление работает следующим образом:
- Если поля в объекте
_relationsотсутствуют, то зависимости не обновляются. - Если поле зависимости указано и в значении не пустой список идентификаторов, то связи модели приводятся к описанному состоянию.
- Если поле зависимости указано и в значении пустой список, то все связи удаляются.
- Зависимости игнорируются в теле запроса.
- Зависимости в ответе всегда
null.
Например, следующий запрос:
{
"id": "uuid",
...
"_relations": {
"logmule_go_rules": [] // - очистит все связи с правилами
// "logmule_go_rules": ["uuid1", "uuid2"] // - создаст связь с 2 правилами
// "logmule_go_rules": ["uuid1"] // - оставит связь только с первым правилом
}
}
Пример запроса
PUT
http://127.0.0.1/cruddy/v2/logmule_go_flows/update
Тело запроса:
| Параметр | Тип | Обязательность | Описание |
|---|---|---|---|
| id | string |
Required | Идентификатор связи |
| rule | string |
Required | Идентификатор правила |
| filter | string |
Required | Идентификатор фильтра |
Пример тела запроса
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"rule": "uuid",
"filter": "uuid"
}
Успешный ответ
Статус код: 200 – успешное обновление информации о связи.
Формат: JSON.
Тело ответа: модель обновленной связи.
Пример ответа
{{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"rule": "uuid",
"filter": "uuid",
"logmule_go_rule": null,
"logmule_go_filter": null,
"_relations": {}
}
Другие возможные ответы
| Код | Ответ | Описание |
|---|---|---|
400 |
Bad Requestname_already_used |
Неверный тип параметра запроса, либо отсутствует обязательный параметр Попытка присвоить объекту существующее уникальное значение атрибута |
404 |
Not Found |
Редактируемый объект не найден в БД |
500 |
Internal Server Error |
Другие ошибки при редактировании объекта |
Примечание: Текст ошибки не фиксированный, может изменяться в зависимости от фактического ответа получателя запроса.
Пример ответа
Код 400
{ "error": "Bad Request", "error_code": 400 }Код 404
{ "error": "Not Found", "error_code": 404 }Код 500
{ "error": "Internal Server Error", "error_code": 500 }