TDG Documentation portal logo
Помощь
Обновлена 22 июня 2026 г. в 15:31

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

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

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

Запрос

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

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

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

Тело запроса для изменения данных должно содержать новые значения изменяемых полей в формате 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    }]