Lumen - вызов другого метода контроллера и получение ответа - PullRequest
0 голосов
/ 25 октября 2019

Чтобы добавить возможность массовых запросов API к моему API, я добавил новый метод для одного из моих контроллеров. Метод принимает в качестве входных данных массив объектов и вызывает другой метод в том же контроллере (который может вызвать исключение). см. следующий код:

       foreach ($objects as $object) {
            $request = (array)$object;
            $request = Request::create('/someinternalurl', 'POST', $request);
            $response = app()->dispatch($request);
            $responses[] = json_decode($response->getContent());
        }

проблема в том, что для 10 объектов, например, этот код занимает около 15 секунд. Кроме того, я попытался найти другие решения, но все, что я нашел, похоже, привело кстолько же времени отката или много изменений в моем API.

Спасибо

1 Ответ

0 голосов
/ 25 октября 2019

Лучше использовать метод напрямую, чем отправлять запрос на соответствующий маршрут. Например:

$response = (new YourController())->yourMethod($object);
...