Я пытаюсь добавить промежуточное ПО после приложения, чтобы я мог добавить метки времени и другую информацию к своим вызовам API. Я правильно настроил свои маршруты, поскольку они правильно достигают моего промежуточного ПО, но когда я достигаю промежуточного ПО, выдается сообщение об ошибке:
Вызов функции-члена put () для необъекта
И мое промежуточное программное обеспечение имеет следующий код:
public function handle($request, Closure $next)
{
$response = $next($request);
if($response->headers->get('content-type') == 'application/json')
{
$collection = $response->original;
//dd( $collection );
$collection->put('timestamp', date("Y-m-d H:i:s"));
$response->setContent($collection);
}
return $response;
}
Я пытался dd ($ collection), но он возвращает объекты, которые должны быть возвращены, поэтому я понятия не имею, что не так. Кто-нибудь может указать мне правильное направление?
Спасибо!
По предложению @ jedrzej.kurylo я внес следующие изменения:
$response = $next($request);
if($response->headers->get('content-type') == 'application/json')
{
$collection = array();
$collection['timestamp'] = Carbon::now();
$collection['data'] = $response->original;
$response->setContent($collection);
}
return $response;
Похоже, что $ response-> original возвращает массив вместо объекта, состоящего из объектов для ответа.
Спасибо ТАК!
Других решений пока нет …