Php Laravel-返回json和http状态代码
如果我返回一个对象:Php Laravel-返回json和http状态代码,php,json,laravel,http-status-codes,Php,Json,Laravel,Http Status Codes,如果我返回一个对象: return Response::json([ 'hello' => $value ]); 状态代码为200。如何将其更改为201,并使用消息和json对象发送 我不知道是否有办法在Laravel中设置状态代码。您可以使用设置HTTP响应代码 如果未传递任何参数,则http_响应_代码将获取当前状态代码。如果您传递一个参数,它将设置响应代码 对于Laravel(参考自:): 这就是我在《拉威尔5》中的表现 return Response::json(['he
return Response::json([
'hello' => $value
]);
状态代码为200。如何将其更改为201,并使用消息和json对象发送
我不知道是否有办法在Laravel中设置状态代码。您可以使用设置HTTP响应代码
如果未传递任何参数,则http_响应_代码将获取当前状态代码。如果您传递一个参数,它将设置响应代码
对于Laravel(参考自:):
这就是我在《拉威尔5》中的表现
return Response::json(['hello' => $value],201);
或使用辅助函数:
return response()->json(['hello' => $value], 201);
有多种方法
return \Response::json(['hello' => $value], STATUS_CODE);
return response()->json(['hello' => $value], STATUS_CODE);
其中STATUS_CODE是要发送的HTTP状态代码。两者都是相同的
如果您使用的是Elount模型,那么默认情况下,simple return也会自动转换为JSON,如
return User::all();
我认为最好的做法是将您的回复置于单一控制之下,因此我找到了最正式的解决方案
response()->json([...])
->setStatusCode(Response::HTTP_OK, Response::$statusTexts[Response::HTTP_OK]);
在名称空间
声明之后添加以下内容:
use Illuminate\Http\Response;
希望我的回答有帮助。我更喜欢回答助手本人:
return response()->json(['message' => 'Yup. This request succeeded.'], 200);
最好使用辅助功能而不是外观。从Laravel 5.7开始,此解决方案将运行良好
//import dependency
use Illuminate\Http\Response;
//snippet
return \response()->json([
'status' => '403',//sample entry
'message' => 'ACCOUNT ACTION HAS BEEN DISABLED',//sample message
], Response::HTTP_FORBIDDEN);//Illuminate\Http\Response sets appropriate headers
拉威尔7*
您不必指定JSON响应,因为它会自动转换为JSON
return response(['Message'=>'Wrong Credintals'], 400);
请记住,Symfony\Component\HttpFoundation\Response对http状态代码有自己的预定义常量,如果使用其他常量,则会将您的状态更改为接近它的状态。。。i、 e.如果您想设置状态449,您将始终获得状态500@Tushar如果我不想发回任何数据,只是一个200响应怎么办?是
response()->json([],200)代码>是否适合这种情况?或者200是隐式的?+(201)这个答案保证了我晚上的安全:)使用light\Http\Response代码>和返回新的响应(['message'=>'test'],422)代码>曾为me@timeNomad这两种方法的优缺点是什么?推荐哪一种?@DJC在第一种方法中,您将能够使用Response::多次,只加载一次。在第二个方法中,每次使用response()->(如果只使用一个,则没有问题)。谢谢,我正在寻找对此的引用。您是否碰巧有到其他可用响应名称的链接,例如201、400等,而不仅仅是200(HTTP_OK)?我试过用谷歌搜索,但还没找到!没有关系。。。找到了。以下是可能正在寻找它的任何其他人的完整列表:
return response()->json(['message' => 'Yup. This request succeeded.'], 200);
//import dependency
use Illuminate\Http\Response;
//snippet
return \response()->json([
'status' => '403',//sample entry
'message' => 'ACCOUNT ACTION HAS BEEN DISABLED',//sample message
], Response::HTTP_FORBIDDEN);//Illuminate\Http\Response sets appropriate headers
return response(['Message'=>'Wrong Credintals'], 400);