2015-08-15 39 views
2

如何將表單發送到其餘的api動作。或者我該如何測試其餘的api,以便在所有字段值的db中創建記錄。我們應該添加create aq queryStringUrl。如果它從POST形式的行動來罰款。但是這個yii rest api應該也可以在Android設備上調用。我在表單的帖子後面使用了$ _Request,其他地方也一樣。如果我想在POSTMAN中測試一下,我該怎麼做。 http://localhost/basic/web/site/create?fname=deepika&uname=deeps&[email protected]&pwd=deepika&pwd_confirm=deepika&gender=female在郵遞員說404。但在yii控制器url中工作這是我創建的操作。
公共職能actionCreate(){ Yii REST POST在POSTMAN中不起作用,但是在框架中

$params=$_REQUEST; 
    //echo $params; 
    $model= new UsersForm(); 

    if(isset($params['fname'])) 
    $fname=$params['fname']; 


    if(isset($params['uname'])) 
    $uname=$params['uname']; 

    if(isset($params['email'])) 
    $email=$params['email']; 

    if(isset($params['pwd'])) 
    $pwd=$params['pwd']; 

    if(isset($params['gender'])) 
    $gender=$params['gender']; 

    if($fname == "" || $uname == "" || $email == "" || $pwd == "" || $gender == ""){ 
      $this->setHeader(400); 
      echo "<pre>".json_encode(array('status'=>0,'error_code'=>400,'errors'=>"Something went wrong"),JSON_PRETTY_PRINT)."</pre>"; 
    }else{ 
      $model->fname = $fname; 
      $model->uname = $uname; 
      $model->email = $email; 
      $model->pwd = $pwd; 
      $model->pwd_confirm = $pwd; 
      $model->gender = $gender; 

      if($model->save()){ 
       if($model->status == 0){ 
        $mailSent = Yii::$app->mailer->compose() 
          ->setFrom("[email protected]") 
          ->setTo($model->email) 
          ->setSubject("Proceed by Verification") 
          ->setTextBody('Plain text content') 
          ->setHtmlBody('<b>HTML content</b>') 
          ->send(); 
          // VarDumper::dump($mailSent, 10, true);die(); 
      }  
       $this->setHeader(200); 
      echo "<pre>".json_encode(array('status'=>1,'success_code' => 200,'verification_mail'=>$mailSent,'message'=>'Registered Successfully'),JSON_PRETTY_PRINT)."</pre>"; 
      }else{ 
       $this->setHeader(400); 
       echo "<pre>".json_encode(array('status'=>0,'error_code'=>400,'errors'=>$model->errors),JSON_PRETTY_PRINT)."</pre>"; 
      } 
    } 

// VarDumper ::轉儲($參數,可以10,真正的);模具();

} 

回答

0

沒有代碼的例子很難說你的應用出了什麼問題。我首先想到如果你通過GET方法創建新的項目,它不是REST。在REST API中,新項目的創建通過POST方法進行(我對URL外觀沒有任何說明)。當我在某個項目中實現了REST時,我在後端應用程序中創建了簡單的方法,然後在前端(JavaScript應用程序)上創建了簡單的方法,用於向API URL發送請求,以及在準備發送頭文件時,然後根據url設置方法標題GET,POST或PUT(不刪除,因爲我們不刪除項throgh API)。所以它可能有點混淆......但是我相信當你得到關於REST的東西時,你將解決你的問題。

+0

如果創建新項目是通過POST比GET。 android API實現者將如何單獨使用他們自己的表單域來調用api。他們是否應該使用與我在行動中相同的名字。使用isset()。請注意使用yii2即時通訊。以及如何測試是否所有特定的參數都傳遞給它。不好意思,如果它是最愚蠢的問題。謝謝。我已經添加了示例操作。 – DpGp

相關問題