Laravel - возвращает json вместе с кодом статуса http Если я возвращаю объект: return Response::json([ 'hello' => $value ]); код статуса будет 200. Как я могу изменить его на 201, с сообщением и отправить его с помощью json-объекта?. Я не знаю, есть ли способ установить код состояния в Laravel. Ответ 1 Вы можете использовать http_response_code() для установки кода ответа HTTP. Если вы не передадите никаких параметров, то http_response_code получит текущий код состояния. Если вы передадите параметр, он установит код ответа. http_response_code(201); // Set response status code to 201 Для Laravel (Ссылка от: fooobar.com/questions/171373/...): return Response::json([ 'hello' => $value ], 201); // Status code here Ответ 2 Вот как я это делаю в Laravel 5 return Response::json(['hello' => $value],201); Ответ 3 Я считаю, что лучше всего держать свой ответ под единым контролем, и по этой причине я нашел наиболее официальное решение. response()->json([...])->setStatusCode(Response::HTTP_OK, Response::$statusTexts[Response::HTTP_OK]); добавить это после объявления namespace: use Illuminate\Http\Response; Ответ 4 Существует несколько способов return \Response::json(['hello' => $value], STATUS_CODE); return response()->json(['hello' => $value], STATUS_CODE); где STATUS_CODE - ваш код статуса HTTP, который вы хотите отправить. Оба идентичны. если вы используете модель Eloquent, тогда простой возврат также будет автоматически преобразован в JSON по умолчанию, например, return User::all();
Ответ 1 Вы можете использовать http_response_code() для установки кода ответа HTTP. Если вы не передадите никаких параметров, то http_response_code получит текущий код состояния. Если вы передадите параметр, он установит код ответа. http_response_code(201); // Set response status code to 201 Для Laravel (Ссылка от: fooobar.com/questions/171373/...): return Response::json([ 'hello' => $value ], 201); // Status code here
Ответ 3 Я считаю, что лучше всего держать свой ответ под единым контролем, и по этой причине я нашел наиболее официальное решение. response()->json([...])->setStatusCode(Response::HTTP_OK, Response::$statusTexts[Response::HTTP_OK]); добавить это после объявления namespace: use Illuminate\Http\Response;
Ответ 4 Существует несколько способов return \Response::json(['hello' => $value], STATUS_CODE); return response()->json(['hello' => $value], STATUS_CODE); где STATUS_CODE - ваш код статуса HTTP, который вы хотите отправить. Оба идентичны. если вы используете модель Eloquent, тогда простой возврат также будет автоматически преобразован в JSON по умолчанию, например, return User::all();