with method php json laravel http-status-codes

php - method - Laravel-Devuelve json junto con el código de estado http



request method laravel (6)

Si devuelvo un objeto:

return Response::json([ ''hello'' => $value ]);

el código de estado será 200. ¿Cómo puedo cambiarlo a 201, con un mensaje y enviarlo con el objeto json?

No sé si hay una manera de configurar el código de estado en Laravel.


Así es como lo hago en Laravel 5

return Response::json([''hello'' => $value],201);

O usando una función auxiliar:

return response()->json([''hello'' => $value], 201);


Creo que es una mejor práctica mantener su respuesta bajo control único y por esta razón descubrí la solución más oficial.

response()->json([...]) ->setStatusCode(Response::HTTP_OK, Response::$statusTexts[Response::HTTP_OK]);

agregue esto después de la declaración del namespace :

use Illuminate/Http/Response;


Hay muchas maneras

return /Response::json([''hello'' => $value], STATUS_CODE); return response()->json([''hello'' => $value], STATUS_CODE);

donde STATUS_CODE es su código de estado HTTP que desea enviar. Ambos son idénticos

si está utilizando el modelo Eloquent, el retorno simple también se convertirá automáticamente en JSON de forma predeterminada como,

return User::all();


Prefiero el ayudante de respuesta yo mismo:

return response()->json([''message'' => ''Yup. This request succeeded.''], 200);


Puede usar http_response_code() para configurar el código de respuesta HTTP.

Si no pasa ningún parámetro, http_response_code obtendrá el código de estado actual. Si pasa un parámetro, establecerá el código de respuesta.

http_response_code(201); // Set response status code to 201

Para Laravel (Referencia de: https://.com/a/14717895/2025923 ):

return Response::json([ ''hello'' => $value ], 201); // Status code here


return response([''title'' => trans(''web.errors.duplicate_title'')], 422); //Unprocessable Entity

Espero que mi respuesta haya sido útil.