簡體   English   中英

Yii2 rest api getBodyParams() 無法獲取參數加載(Yii::$app->getRequest()');getBodyPar 來自反應原生帖子

[英]Yii2 rest api getBodyParams() can't get params load(Yii::$app->getRequest()->getBodyParams(), ''); from react native post

如何從 Post react native 獲取參數? 后反應本機我在這里嘗試發送一些數據到請求 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 加載參數獲取數據並在數據庫中插入(創建新需求)。 代碼 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.');         
}
}

我有響應錯誤:錯誤:出了點問題

解決了:

    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.');         
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM