Ответ::json() - Laravel 5.1


Я пытаюсь return Response::json('data', $request); однако я получаю ошибку:

Исключение fatalerrorexception в ProjectsController.php строка 74: Вызов неопределенного метода Illuminate\Http\Ответ::json()

Где находится Response::json()? Что я делаю не так?

Author: Jeff Puckett, 2015-08-06

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);
}
 39
Author: bambam, 2016-03-21 07:28:25

После достаточного количества поисков в Google я нашел ответ от контроллера, вам нужна только обратная косая черта, например return \Response::json(['success' => 'hi, atiq']);. Или вы можете просто вернуть массив return array('success' => 'hi, atiq');, который будет отображаться как json в Laravel версии 5.2.

 9
Author: Atiqur, 2016-01-24 11:11:28

Использовать Ответ;

Затем вернитесь Response::json($data);

 3
Author: RASEL RANA, 2018-03-02 11:35:04

С контроллера вы также можете вернуть объект/массив, и он будет отправлен в виде ответа JSON (включая правильные заголовки HTTP).

public function show($id)
{
    return Customer::find($id);
}
 1
Author: Wireblue, 2015-10-02 06:26:38