<?php namespace frontend\modules\api\controllers; use common\models\Reports; use common\models\UserResponse; use Yii; use yii\filters\auth\HttpBearerAuth; use yii\helpers\Url; use yii\rest\ActiveController; use yii\web\BadRequestHttpException; use yii\web\ServerErrorHttpException; class UserResponseController extends \yii\rest\ActiveController { public $modelClass = 'common\models\UserResponse'; public function behaviors(): array { $behaviors = parent::behaviors(); $behaviors['authenticator']['authMethods'] = [ HttpBearerAuth::className(), ]; return $behaviors; } public function verbs(): array { return [ // 'set-responses' => ['post'], 'create' => ['post'], ]; } public function actions() { $actions = parent::actions(); unset($actions['create']); return $actions; } public function actionCreate() { $model = new UserResponse(); $model->load(Yii::$app->getRequest()->getBodyParams(), ''); if ($model->save()) { $response = Yii::$app->getResponse(); $response->setStatusCode(201); // $id = implode(',', array_values($model->getPrimaryKey(true))); // $response->getHeaders()->set('Location', Url::toRoute(['view', 'id' => $id], true)); } elseif (!$model->hasErrors()) { throw new ServerErrorHttpException('Failed to create the object for unknown reason.'); } return $model; } }