写接口代码,返回给客户端数据,为了方便直接返回 数组 结构;
但是 这样话会报以下错误
Exception 'yii\base\InvalidArgumentException' with message 'Response content must not be an array.'
上面错误提示返回的数据不能是个数组(laravel 就会直接处理成 json 串),Yii2 没有这样自动转换的功能,返回的数据就必须手动转成 json 串(使用 json_encode函数);
但是不想在每个接口中都使用 json_encode 函数(太麻烦);所以就想了一个全局配置的方法;
按照以下配置就 ok了
'components' => [
……
'response' => [
'on beforeSend' => function($event) {
if(is_array($event->sender->data)){
$event->sender->format = 'json';
}
},
],
……
网友评论