Изменение данных | Tdg

Версия:

2.x

Изменение данных

Для изменения данных в TDG используются PUT-запросы на адреса вида data/<TypeName>. В параметрах запроса передаются условия выборки объектов для изменения, а в теле – новые значения изменяемых полей.

Такие запросы эквивалентны вызовам repository.update c аналогичными аргументами.

Запрос

PUT /data/<TypeName>?<arguments>
  • <TypeName> – имя типа данных из модели.

  • <arguments> – параметры запроса.

Предупреждение

Если в PUT-запросе нет ни одного условия выбора объектов (<index_name> или <index_name_*>), его результатом будет изменение всех объектов типа.

Запрос может содержать следующие параметры (все они являются опциональными):

<index_name>

Выборка по индексу <index_name> по полному совпадению с указанным значением. Например: id=10.

При использовании составных индексов указывайте значения полей через запятую. Например: multipart_index=0,10,true,null.

<index_name_gt>

Выборка по индексу <index_name> с условием «больше указанного значения». Например: population_gt=100000

При использовании составных индексов указывайте значения полей через запятую. Например: multipart_index_gt=0,10

<index_name_ge>

Выборка по индексу <index_name> с условием «больше или равно указанного значения». Например: population_ge=100000

При использовании составных индексов указывайте значения полей через запятую. Например: multipart_index_ge=0,10

<index_name_lt>

Выборка по индексу <index_name> с условием «меньше указанного значения». Например: population_lt=100000

При использовании составных индексов указывайте значения полей через запятую. Например: multipart_index_lt=0,10

<index_name_le>

Выборка по индексу <index_name> с условием «меньше или равно указанного значения». Например: population_le=100000

При использовании составных индексов указывайте значения полей через запятую. Например: multipart_index_le=0,10

<index_name_like>

Выборка по строковому индексу <index_name> по шаблону. Например: name=Abc%

<index_name_ilike>

Выборка по строковому индексу <index_name> по шаблону без учёта регистра. Например: name=abc%

indexed_by

Имя индекса для упорядочивания объектов выборки. При передаче этого параметра объекты будут упорядочены по возрастанию значений указанного индекса.

version

Номер версии объекта для типов, поддерживающих версионирование. Значение по умолчанию: текущее значение временной метки Unix (Unix timestamp).

Номер версии также можно передать в HTTP-заголовке version.

only_if_version

Для типов, поддерживающих версионирование: выполнить изменение, только если номер актуальной версии объекта равен указанному значению. Значение по умолчанию: последняя хранимая версия.

skip_result

Флаг выполнения запроса без возврата списка изменённых объектов. Значение по умолчанию: false.

Тело запроса для изменения данных должно содержать новые значения изменяемых полей в формате JSON.

Ответ

  • Если skip_result=false (по умолчанию): описание изменённого объекта в формате JSON.

  • Если skip_result=true: пустое тело ответа.

Пример

Запрос:

POST http://localhost:8081/data/City?population_le=500000
{
    "capital": false
}

Ответ:

[
    {
        "country": "Germany",
        "title": "Bonn",
        "population": 318809,
        "capital": false
    },
    {
        "country": "Germany",
        "title": "Karlsruhe",
        "population": 307755,
        "capital": false
    },
    {
        "country": "Russia",
        "title": "Tver",
        "population": 424969,
        "capital": false
    }
]
Нашли ответ на свой вопрос?
Обратная связь