0

我正在研究我的 yii2 api,并且正在寻找一种从控制器操作中获取数据的方法。这是我在 json 或 xml 中的响应所需的示例。

{"success": true,
 "message": {data},
 "session": "U0phRm51az",
 "metadata": "metadata"
}

我从控制器收到消息,而成功检查响应是否正常,会话是会话数据,元数据是其他数据。我的行为看起来像这样。

public function actionIndex(){
    $data = array();
}

所有这些都使用相同的功能,所以我不想在所有操作中重复。我想知道如何使用模块类(不是配置文件)上的响应组件的$data每个操作afterAction或事件来获取。如果这是不可能的,我该如何实现?beforeSend

4

1 回答 1

1

如果您的操作将数据作为数组返回,您可以在afterAction控制器的方法中向该数组添加更多内容。

public function actionIndex()
{
    //...
    //$data contains an array
    return [
        'data' => $data
    ];
}

public function afterAction($action, $result)
{
    $result = parent::afterAction($action, $result);
    $result['session'] = '...';
    $result['metadata'] = '...';
    return $result;
}
于 2015-09-18T20:50:59.820 回答