Доброго времени суток ув. форумчане
освариваю фреймоврк, столкнулся с непониманием как правильно формить функцию в контроллере для приема пост запросов с параметрами в формате JSON.
в интернете выкопал вариант вот такой:
public function actionLogin()
{
$data = \Yii::$app->request->post();
return $data;
}
Но у него есть очевидный минус.
в случае с GET запросами параметры передаются в виде параметров ф-и, что позволяет её вызывать в других кусках кода.
с передачей параметров через $app->request такое уже не получается. плюс пропадает проверка на передачу параметров.
как быть?
экшены для POST запросов с параметрами
Re: экшены для POST запросов с параметрами
А смысл action вызывать в другом участке кода?
Если JSON, то:
А для проверки данных можно формы использовать.
Если JSON, то:
Код: Выделить всё
public function actionLogin()
{
$data = \Yii::$app->request->getBodyParams();
return $data;
}
Код: Выделить всё
public function actionLogin()
{
$loginForm = new \app\models\forms\LoginForm();
$loginForm->load(\Yii::$app->request->getBodyParams(), '');
if ($loginForm->validate()) {
//...
return /*...*/;
}
return $loginForm;
}