Ответ::json() - Laravel 5.1
Я пытаюсь return Response::json('data', $request);
однако я получаю ошибку:
Исключение fatalerrorexception в ProjectsController.php строка 74: Вызов неопределенного метода Illuminate\Http\Ответ::json()
Где находится Response::json()
? Что я делаю не так?
4 answers
Вместо этого используйте вспомогательную функцию в laravel 5.1:
return response()->json(['name' => 'Abigail', 'state' => 'CA']);
Это создаст экземпляр \Illuminate\Routing\ResponseFactory
. Смотрите phpDocs для возможных параметров ниже:
/**
* Return a new JSON response from the application.
*
* @param string|array $data
* @param int $status
* @param array $headers
* @param int $options
* @return \Symfony\Component\HttpFoundation\Response
* @static
*/
public static function json($data = array(), $status = 200, $headers = array(), $options = 0){
return \Illuminate\Routing\ResponseFactory::json($data, $status, $headers, $options);
}
После достаточного количества поисков в Google я нашел ответ от контроллера, вам нужна только обратная косая черта, например return \Response::json(['success' => 'hi, atiq']);
. Или вы можете просто вернуть массив return array('success' => 'hi, atiq');
, который будет отображаться как json в Laravel версии 5.2.
Использовать Ответ;
Затем вернитесь Response::json($data);
С контроллера вы также можете вернуть объект/массив, и он будет отправлен в виде ответа JSON (включая правильные заголовки HTTP).
public function show($id)
{
return Customer::find($id);
}