关注互联网最新技术
我们一直在努力

Yii2 Restful API Response 统一返回格式

一般在处理API返回的时候,我们都会把格式进行统一。

但是如果我们不进行配置,默认返回的结果中只有结果集,没有状态(比如我们抛的异常)

根据官方的指导,可以在main.php里面配置Response来控制返回。

        // 统一处理返回
        'response' => [
            'class' => 'yii\web\Response',
            'on beforeSend' => function ($event) {
                $response = $event->sender;
                if ($response->data !== null) {

                    $response->data = [
                        'success' => $response->isSuccessful,
//                        'data' => $response->isSuccessful ? $response->data : $response->data['message'],
                        'data' => $response->data,
                    ];
                    $response->statusCode = 200;
                }
            },
        ],

这里面我注释的内容,其实是想在返回的错误信息中,不包含太多的信息,保证系统的安全。测试的时候可以注释掉。

'data' => $response->isSuccessful ? $response->data : $response->data['message'],

赞(0)
未经允许不得转载:全栈志 » Yii2 Restful API Response 统一返回格式

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址