Типы результатов
При выполнении запросов приходят объекты ответов, наследующих интерфейсы для разных типов ответов:
Response - общий интерфейс ответа
ListResponse - интерфейс ответа списочных методов. Содержит методы для получения информации о пагинации
BatchResponse - интерфейс ответа batch-запроса. Содержит методы для получения ответов для каждого вложенного запроса в виде Response или ListResponse
В рамках реализованных классов ядра или команд, все выполненные запросы автоматически определяют интерфейс ответа, который необходимо вернуть. например для метода batch ответом всегда будет BatchResponse. Если метод заканчивается на ‘.list’ или в ответе пришёл параметр total, будет возвращён ListResponse.
Стоит отметить, что некоторые ответы могут не содержать информацию об http-запросе или выполненной команде ввиду способа их создания.
Например при выполнении bacth запроса в обёртке Pranju\Bitrix24\Core\Batch, запросы выполняются по-разному в зависимости от их количества:
Если запрос всего один, он будет выполнен вне batch и обёрнут в UnlimitedBatchResponse
Если запросов от 2 до 50, вернётся BatchResponse
Если запросов больше 50, ответ будет обёрнут в UnlimitedBatchResponse
В отличие от BatchResponse, UnlimitedBatchResponse может не содержать http ответа и команды.
Last updated