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

Чтение данных

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

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

Запрос

GET /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 | Имя индекса для упорядочивания объектов выборки. При передаче этого параметра объекты будут упорядочены по возрастанию значений указанного индекса. Обратите внимание, что параметр indexed_by применяется на этапе выборки объектов. Таким образом, запросы, отличающиеся только значением indexed_by, могут возвращать разные наборы объектов. Например, запрос с indexed_by=price&first=5 вернёт 5 объектов с наименьшими значениями price, а запрос c indexed_by=name&first=5 - 5 объектов с первыми значениями name в лексикографическом порядке.

first | Количество возвращаемых объектов. Значение по умолчанию: 10.

after | Значение курсора первого возвращаемого объекта (поле cursor в возвращаемых объектах JSON). Значение по умолчанию: курсор первого добавленного объекта.

version | Запрашиваемая версия объектов для типов, поддерживающих версионирование. Значение по умолчанию: последняя хранимая версия. Номер версии также можно передать в HTTP-заголовке version.

all_versions | Флаг получения всех доступных версий объектов для типов, поддерживающих версионирование. Значение по умолчанию: false.

Тело запроса для получения данных должно быть пустым.

Ответ

Набор объектов, удовлетворяющих заданным условиям, в формате JSON.

Пример

Запрос:

GET http://localhost:8081/data/City?population_ge=300000&indexed_by=title&first=3

Ответ:

[    {        "cursor": "gaRzY2FukqZCZXJsaW6nR2VybWFueQ",        "country": "Germany",        "title": "Berlin",        "population": 3520031,        "capital": true    },    {        "cursor": "gaRzY2FukqdEcmVzZGVup0dlcm1hbnk",        "country": "Germany",        "title": "Dresden",        "population": 547172,        "capital": false    },    {        "cursor": "gaRzY2FukqZNb3Njb3emUnVzc2lh",        "country": "Russia",        "title": "Moscow",        "population": 12655050,        "capital": true    }]