naC*_*eex 5 php rest yii yii2 yii2-advanced-app
我试图得到(StatusCode)响应REST api,而它只返回字段名称和错误消息,如下所示
[{"field":"Email","message":"Email \"ali@ali.ali\" has already been taken."}]
Run Code Online (Sandbox Code Playgroud)
我添加了回复
'response' => [
'class' => 'yii\web\Response',
'on beforeSend' => function ($event) {
$response = $event->sender;
if ($response->data !== null && Yii::$app->request->get('suppress_response_code')) {
$response->data = [
'success' => $response->isSuccessful,
'data' => $response->data,
];
$response->statusCode = 200;
}
},
],
Run Code Online (Sandbox Code Playgroud)
试试这种方式,它对我有用:
if ("some error checking goes there") {
Yii::$app->response->statusCode = 422;//I preferred that error code
return [
"data" => [
'errors' => [
'fieldname' => "Field Name is invalid",
]
],
];
}
Run Code Online (Sandbox Code Playgroud)