Yii2 rest api getBodyParams()无法获取参数负载(Yii :: $ app-> getRequest()-> getBodyParams(),'');来自react native post

问题描述 投票:1回答:1

我如何从Post获得本机的响应?发布本地反应我在这里尝试向请求yii发送一些数据:

    let  body =  {
                demande_title:demande_title,
                created_Date:created_Date,
                updated_Date:updated_Date,
                demande_Type:demande_Type,
                demande_Action:demande_Action,
                demande_status:demande_status,
                demande_content:demande_content,
                demande_color:demande_color,
                utf_utilisateur_front_id:1

            };
            let response = await fetch(url, {
                method: "POST",
                headers: {
                    Authorization: `Bearer ${getState().auth.token}`,
                    "Content-Type": "application/json",
                },
                body: JSON.stringify(body),
            });
if (!response.ok) {
                throw new Error("Something went wrong !");
            }

我想使用yii load参数获取数据并在数据库中插入(创建新需求)。代码Yii:

 public function actionDemandeCreate()
{
    $demande = new Demande(); 
    $demande->load(Yii::$app->getRequest()->getBodyParams(), '');
    if ($demande->save()) {
        Yii::$app->response->statusCode = 201;
        return [
            'demande_id'=>$demande->id,
            'demande_title'=>$demande->demande_title,
            'created_Date'=>$demande->created_Date,
            'updated_Date'=>$demande->updated_Date,
            'demande_Type'=>$demande->demande_Type,
            'demande_color'=>$demande->demande_color,
            'demande_Action'=>$demande->demande_Action,
            'demande_status'=>$demande->demande_status,
            'demande_content'=> $demande->demande_content,
        ];
    } else {
        Yii::error($demande->getErrors(), __METHOD__);
        throw new ServerErrorHttpException('Une erreur s\'est produite lors de la création. Merci de réessayer.');         
}
}

我的回答有误: 错误:出了点问题

php api rest react-native yii
1个回答
0
投票

已解决:

    let  body =  {
            "demande_title":demande_title,
            "created_Date":created_Date,
            "updated_Date":updated_Date,
            "demande_Type":demande_Type,
            "demande_Action":demande_Action,
            "demande_status":demande_status,
            "demande_content":demande_content,
            "demande_color":demande_color,
            "utf_utilisateur_front_id":1,     };
        let response = await fetch(url, {
            method: "POST",
            headers: {
                Authorization: `Bearer ${getState().auth.token}`,
                "Content-Type": "application/json",
            },
            body: JSON.stringify(body),});
        if (!response.ok) {
            throw new Error("Something went wrong !");}

Yii:

 $demande = new Demande();

    $params = Yii::$app->getRequest()->getBodyParams();
    Yii::trace(print_r($params, true), __METHOD__);
    $demande->load($params, '');

   if ($demande->save()) {
        Yii::$app->response->statusCode = 201;
        return 
        [
    'demande_id'=>$demande->demande_id,
    'demande_title'=>$demande->demande_title,
    'created_Date'=>$demande->created_Date,
    'updated_Date'=>$demande->updated_Date,
    'demande_Type'=>$demande->demande_Type,
    'demande_color'=>$demande->demande_color,
    'demande_Action'=>$demande->demande_Action,
    'demande_status'=>$demande->demande_status,
    'demande_content'=> $demande->demande_content,
];
    } else {
        Yii::error($demande->getErrors(), __METHOD__);
        throw new ServerErrorHttpException('Une erreur s\'est produite lors de la création. Merci de réessayer.');         
}
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.