我创建了一个带有动作的简单休息控制器,并尝试通过 restclient mozilla 扩展发送发布数据。有一个问题,yii2 没有看到所有的post 字段并且$_POST 是[]。请求方法是 POST,我肯定会发送数据。
class ApiController extends Controller
{
public function beforeAction($action)
{
$this->enableCsrfValidation = false;
Yii::$app->response->format = Response::FORMAT_JSON;
return parent::beforeAction($action);
}
public function actionAuth() {
Yii::$app->response->format = Response::FORMAT_JSON;
if(Yii::$app->request->isPost) {
$username = Yii::$app->request->post('username');
$password = Yii::$app->request->post('password');
$user = Players::find()
->where(['username' => $username])
->orWhere(['email' => $username])
->one();
if($user->validatePassword($password)) {
$user->generateApiToken();
$user->save();
return ['status' => 'ok', 'message' => Yii::t('api', 'You are logged in successfully!'), 'data' => $user];
} else {
return ['status' => 'error', 'message' => Yii::t('api', 'Username or password is wrong.'), 'post' => $_POST];
}
}
else return ['status' => 'error'];
}
}
慕仙森
慕田峪7331174