我目前在API模块中的每个控制器上使用以下代码行,以便返回JSON响应/数据。
UIView *containerView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 170, 200)];
UIView *circle = [[UIView alloc]initWithFrame:CGRectMake(10, 10, 150, 150)];
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 170, 150, 30)];
label.text = @"Request funds";
label.textAlignment = NSTextAlignmentCenter;
circle.layer.borderColor = [UIColor lightGrayColor].CGColor;
circle.layer.borderWidth = 1.0;
circle.layer.cornerRadius = 75; // width or height / 2 and width = height (must for proper round shape)
circle.layer.masksToBounds = YES;
[containerView addSubview:circle];
[containerView addSubview:label];
[self.view addSubview: containerView];
效果很好。但是如何使用主配置文件实现相同的目标呢? 我在我的前端/ config / main.php上尝试了以下内容
public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors['contentNegotiator']['formats']['text/html'] = Response::FORMAT_JSON;
return $behaviors;
}
以上配置仍然只返回XML响应。设置API模块中的所有控制器以返回JSON数据的正确配置是什么。谢谢
答案 0 :(得分:1)
按如下方式配置响应组件:
'response' => [
'format' => yii\web\Response::FORMAT_JSON,
// ...
]
formats
是一个包含可用格式的数组。 format
是实际的输出格式。
答案 1 :(得分:0)
添加这是你的config / main-local.php
use yii\web\Response;
$config['bootstrap'][]=
[
'class' => '\yii\filters\ContentNegotiator',
'formats' => [
'text/html' => Response::FORMAT_JSON,
]
];