Laravel - 返回 json 以及 http 状态代码

2022-08-30 07:28:42

如果我返回一个对象:

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(参考资料来自:https://stackoverflow.com/a/14717895/2025923):

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

答案 2

这就是我在Laravel 5中的做法

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

或者使用帮助程序函数:

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

推荐