我正在寻找一种在每个JSON响应中发送附加参数的方法,以发送用户当前订阅状态。
我正在检查App\Http\Middleware
中的订阅状态,它检查用户订阅状态并处理请求,如果我可以从中间件发送全局参数,那将是很好的。
答案 0 :(得分:2)
您可以使用 After Middleware 来执行此操作。
在 之后运行 后,调用控制器方法,这意味着您可以在它之前修改响应(添加密钥)被发送到浏览器。
例如:
operator
请参阅文档:https://lumen.laravel.com/docs/5.5/middleware#defining-middleware(滚动至中间件之前/之后)
答案 1 :(得分:1)
你可以在模型中使用append并将变量设置为该参数
protected $appends = ['subscribed'];
public function getSubscribedAttrubite() {
// you login of checking the the subscriber has subscription
}
答案 2 :(得分:1)
如果将其添加到其他控制器从
扩展的主控制器,该怎么办?public function respondJson($message,$status,$statusCode=200,$headers=[])
{
return response()->json([
'data'=>[
message'=>$message,
'subscriptionStatus'=>$status
]
],$statusCode,$headers);
}
在您的控制器中,您可以将其称为
$this->respondJson('some message',$status);