繁体   English   中英

Yii2 Rest API没有返回响应代码和状态

[英]Yii2 rest api is not returning response code and status

我正在尝试获取(StatusCode)作为REST api的响应,而它只是返回字段名称和错误消息,如下所示

[{"field":"Email","message":"Email \"ali@ali.ali\" has already been taken."}]

我增加了回应

'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;
            }
        },

    ],

尝试这种方式,它对我有用:

if ("some error checking goes there") {
    Yii::$app->response->statusCode = 422;//I preferred that error code
    return [
        "data" => [
            'errors' => [
                'fieldname' => "Field Name is invalid",
            ]
        ],
    ];
}
Yii::$app->response->statusCode

您可以在回复之前添加“执行此代码”操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM