Пример разбивки на страницы для более чем 2000 записей в API AtTask

1

В вызовах API AtTask, как использовать разбиение на страницы, когда мне нужно больше 2000 записей, чтобы вернуться?
Например, учитывая следующее из сайта разработчиков https://developers.attask.com/api-docs/#Basics, я вижу следующее

Paginated Responses

Чтобы переопределить число результатов по умолчанию и задать ответ для предоставления 200 результатов, вы должны включить в свой запрос следующее:

GET/attask/api/project/search?$$LIMIT=200

Для обеспечения надежности и производительности для других арендаторов в системе максимальный допустимый предел для каждого запроса составляет 2000 объектов. Попытка указать больший предел приведет к ошибке.

Поэтому рекомендуется рассмотреть возможность использования постраничных ответов для больших наборов данных. Чтобы указать первый результат, который должен быть возвращен, можно добавить фильтр $$FIRST. Следующие результаты вернут результаты 201-250 для запроса.

GET/attask/api/project/search?$$FIRST=201&$$LIMIT=50

Я не понимаю, как определить, сколько у меня есть. Если я хочу загрузить часы в системе, как узнать, сколько раз мне нужно позвонить (есть ли count(*)) или какой-нибудь метод? Я просто собираюсь получить первые 2k, процесс, попытаться получить следующие 2k и обработать, если не пуст? Промыть и повторить?

Теги:
pagination
attask

2 ответа

1

Вы можете получить общее количество элементов, используя вызов отчета. Итак, в вашем примере, чтобы получить количество часов в системе (не суммарно общее количество часов), вы можете сделать следующее:

/attask/api/HOUR/report?ID_AggFunc=count

Надеюсь, это поможет!

1

Поскольку первоначальный поиск приведет только к 2000 результатам, вам придется перебирать и вытаскивать следующий 2000, пока результаты не останутся.

  • 0
    Мы также можем проверить, содержит ли текущий ответ объекты меньше чем 2000, и затем прекратить итерацию. Как его указывают, что нет больше данных.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню