Здравствуйте!
Начал изучать Yii2, а точнее раздел REST.
Настроил все, как в документации и почти все работает, кроме запросов отправленных методом PUT.
В документации написано что метод PUT должен обновлять данные, но этого не происходит.
Попробовал получить данные через
\Yii::$app->request->getBodyParams()
но возвращается пустой массив. Хотя если проверить переменную $_REQUEST в ней как положено все отправленные мною данные есть. Ради тестирования в методе beforeValidate() прописал следующее:
$this->count = $_REQUEST['count '];
$this->summ = $_REQUEST['summ'];
И данные начали обновляться, т.е. то что я отправляю через метод PUT стало работать, но ведь это же не правильно, это опасно и тупо, подскажите пожалуйста что я делаю не так
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
//'enableStrictParsing' => true,
'rules' => [
['class' => 'yii\rest\UrlRule', 'controller' => 'api'],
],
],
class ApiController extends ActiveController
{
public $modelClass = 'app\models\Orders';
public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors['corsFilter' ] = [
'class' => \yii\filters\Cors::className(),
];
$behaviors['contentNegotiator'] = [
'class' => \yii\filters\ContentNegotiator::className(),
'formats' => [
'application/json' => \yii\web\Response::FORMAT_JSON,
],
];
$behaviors['authenticator'] = [
'class' => HttpBearerAuth::className(),
/*'authMethods' => [
HttpBasicAuth::className(),
HttpBearerAuth::className(),
QueryParamAuth::className(),
],*/
];
return $behaviors;
}
}