流明5.5在每个json响应中发送默认参数

时间:2018-01-10 12:30:23

标签: json laravel response middleware lumen

我正在寻找一种在每个JSON响应中发送附加参数的方法,以发送用户当前订阅状态。

我正在检查App\Http\Middleware中的订阅状态,它检查用户订阅状态并处理请求,如果我可以从中间件发送全局参数,那将是很好的。

3 个答案:

答案 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);