如果我返回一个对象:
return Response::json([ 'hello' => $value ]);
状态代码将是200。我如何将其更改为201,并使用消息和json对象发送它?我不知道是否有一种方法可以在Laravel中设置状态代码。
h22fl7wq1#
您可以使用http_response_code()来设置HTTP响应代码。如果不传递任何参数,则http_response_code将获取当前状态代码。如果传递参数,则它将设置响应代码。
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
svmlkihl2#
这就是我在拉拉威尔5号的做法
return Response::json(['hello' => $value],201);
或者使用helper函数:
return response()->json(['hello' => $value], 201);
uyhoqukh3#
我认为这是更好的做法,保持你的React在单一的控制,并为此原因,我找到了最正式的解决方案。
response()->json([...]) ->setStatusCode(Response::HTTP_OK, Response::$statusTexts[Response::HTTP_OK]);
在namespace声明后添加以下内容:
namespace
use Illuminate\Http\Response;
ogsagwnx4#
有多种方法
return \Response::json(['hello' => $value], STATUS_CODE); return response()->json(['hello' => $value], STATUS_CODE);
其中STATUS_CODE是您要发送的HTTP状态代码。两者是相同的。如果您使用是Eloquent模型,那么简单返回也会被默认自动转换为JSON,例如:
return User::all();
kjthegm65#
laravel 7.* 您不必指定JSONRESPONSE,因为它会自动将其转换为JSON
return response(['Message'=>'Wrong Credintals'], 400);
bwntbbo36#
return response(['title' => trans('web.errors.duplicate_title')], 422); //Unprocessable Entity
希望我的回答对你有帮助。
mxg2im7a7#
最好使用辅助函数,而不是外观。此解决方案将在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
2ekbmq328#
我总是使用这种类型的json响应格式,这将帮助您...
return response()->json(['success'=>'true','message' => 'Successfully Done.'], 200);
bkkx9g8r9#
我自己更喜欢响应助手:
return response()->json(['message' => 'Yup. This request succeeded.'], 200);
9条答案
按热度按时间h22fl7wq1#
您可以使用
http_response_code()
来设置HTTP响应代码。如果不传递任何参数,则http_response_code将获取当前状态代码。如果传递参数,则它将设置响应代码。
对于Laravel(参考来源:https://stackoverflow.com/a/14717895/2025923)的数据:
svmlkihl2#
这就是我在拉拉威尔5号的做法
或者使用helper函数:
uyhoqukh3#
我认为这是更好的做法,保持你的React在单一的控制,并为此原因,我找到了最正式的解决方案。
在
namespace
声明后添加以下内容:ogsagwnx4#
有多种方法
其中STATUS_CODE是您要发送的HTTP状态代码。两者是相同的。
如果您使用是Eloquent模型,那么简单返回也会被默认自动转换为JSON,例如:
kjthegm65#
laravel 7.* 您不必指定JSONRESPONSE,因为它会自动将其转换为JSON
bwntbbo36#
希望我的回答对你有帮助。
mxg2im7a7#
最好使用辅助函数,而不是外观。此解决方案将在Laravel 5.7以上版本中运行良好
2ekbmq328#
我总是使用这种类型的json响应格式,这将帮助您...
bkkx9g8r9#
我自己更喜欢响应助手: