Чтение коллекций — базовая операция API Timetta, которая позволяет получать список записей сущности.
Для этого используется HTTP-метод GET к коллекции сущности.
Например, для получения списка проектов используется коллекция Projects:
GET https://api.timetta.com/odata/Projects
Простейший запрос:
GET https://api.timetta.com/odata/Projects
Пример ответа:
{
"value": [
{
"name": "Business Process Optimization",
"id": "2fa44ea0-df3b-47f0-bc62-fea3554c6c3c",
"modified": "2022-09-04T11:06:03.775347Z",
"manager": {
"name": "Ace Fry",
"id": "bcd753cc-0b80-47ae-a471-6ff7f06010e1"
}
}
]
}
Ответ всегда содержит массив объектов в свойстве value.
Для ограничения набора возвращаемых данных можно использовать $select.
Например, получить только идентификатор, название и дату изменения:
GET https://api.timetta.com/odata/Projects?$select=id,name,modified
Это позволяет уменьшить размер ответа и ускорить обработку.
Примечание
Рекомендуется явно указывать только необходимые поля.
Чтобы ограничить количество возвращаемых проектов:
GET https://api.timetta.com/odata/Projects?$top=10
Будут возвращены первые 10 записей.
Для перехода по страницам используется $skip.
Например:
GET https://api.timetta.com/odata/Projects?$top=10&$skip=20
Запрос пропустит первые 20 проектов и вернёт следующие 10.
Это удобно при последовательной загрузке больших наборов данных.
Если необходимо получить общее количество проектов:
GET https://api.timetta.com/odata/Projects?$count=true
Пример ответа:
{
"@odata.count": 154,
"value": [...]
}
Свойство @odata.count содержит общее количество записей.
Сущность Project содержит навигационные поля. Например, поле manager.
Для получения вложенных данных можно использовать $expand:
GET https://api.timetta.com/odata/Projects?$select=id,name&$expand=manager($select=id,name)
Пример ответа:
{
"value": [
{
"id": "2fa44ea0-df3b-47f0-bc62-fea3554c6c3c",
"name": "Business Process Optimization",
"manager": {
"id": "bcd753cc-0b80-47ae-a471-6ff7f06010e1",
"name": "Ace Fry"
}
}
]
}
Это позволяет получать связанные сущности одним запросом.
Параметры можно использовать совместно:
GET https://api.timetta.com/odata/Projects?$select=id,name,modified&$expand=manager($select=name)&$top=20&$skip=40&$count=true
Такой запрос:
При чтении коллекций рекомендуется:
$select для ограничения набора полей;$top и $skip для постраничной загрузки;$expand только для действительно необходимых связанных данных;Перейти на русскую версию?