我是yii2框架中其他api的新手。我有一个控制器,我通过邮递员发送一个post请求,但它不起作用
我试过了1.API控制器
<?php
namespace restapicontrollers;
use yiirestController;
use yiidataActiveDataProvider;
//use appmodelsPost;
use commonmodelsLoginForm;
use frontendmodelsSignupForm;
use frontendmodelsPasswordResetRequestForm;
class ApiController extends Controller
{
public function actionResetpassword(){
$model = new PasswordResetRequestForm();
if(Yii::$app->request->post() && $model->validate()){
return 2;
}
else{
return 1;
}
//return $response;
}
}
模型
<?php
namespace frontendmodels;
use commonmodelsUser;
use yiibaseModel;
use Yii;
class PasswordResetRequestForm extends Model
{
public $email;
public function rules()
{
return [
// ['email', 'filter', 'filter' => 'trim'],
['email', 'required'],
['email', 'email'],
['email', 'exist',
'targetClass' => 'commonmodelsUser',
'filter' => ['status' => User::STATUS_ACTIVE],
'message' => 'There is no user with such email.'
],
];
}
}
当我通过post man发出post请求时,form data在body中,我仍然得到1
您没有将POST数据加载到您的模型
使用this:
if($model->load(Yii::$app->request->post()) && $model->validate()){
return 2;
}else{
return 1;
}