标签: yii-rest

除GET外,Yii2 REST URL无法正常工作

我尝试通过引用Yii2 REST GUIDE创建REST API,但不幸的是我只有GET方法工作.

示例网址:

http://dev.exp-yii.com/employee

除了上面的URL,其他一切都给了我一个NOT FOUND(404)错误页面(甚至不是JSON响应).

应用\控制器\ EmployeeController.php

<?php

namespace app\controllers;

use yii\rest\ActiveController;

class EmployeeController extends ActiveController
{
    public $modelClass = 'app\models\Employee';

    /**
     * @return array
     */
    protected function verbs()
    {

        return [
            'index' => ['GET', 'HEAD'],
            'view' => ['GET', 'HEAD'],
            'create' => ['POST'],
            'update' => ['PUT', 'PATCH'],
            'delete' => ['DELETE'],
        ];

    }

}
Run Code Online (Sandbox Code Playgroud)

应用程序\型号\ Employee.php

<?php

namespace app\models;

use Yii;


class Employee extends \yii\db\ActiveRecord
{
    public $primaryKey = 'emp_no';

    /**
     * …
Run Code Online (Sandbox Code Playgroud)

php yii2 yii-rest

2
推荐指数
1
解决办法
113
查看次数

Yii2-在操作之前返回响应

我正在构建一个测试API。我创建了一个从yii \ rest \ Controller扩展的Controller Page。动作需要发送响应。

要访问此控制器中的操作,需要发布service_id值。如果存在,我需要评估该service_id是否存在,是否处于活动状态并且属于已登录的用户。如果验证失败,则需要发送响应。

我正在尝试使用beforeAction()来执行此操作,但是问题是返回数据用于验证操作是否应该继续。

因此,我的临时解决方案是将服务对象保存在Class属性中,以便在操作中评估它并返回响应。

class PageController extends Controller
{

    public $service;

    public function beforeAction($action)
    {
        parent::beforeAction($action);

        if (Yii::$app->request->isPost) {

            $data = Yii::$app->request->post();
            $userAccess = new UserAccess();
            $userAccess->load($data);

            $service = $userAccess->getService();
            $this->service = $service;
        }

        return true;
    }

    public function actionConnect()
    {

        $response = null;

        if (empty($this->service)) {
            $response['code'] = 'ERROR';
            $response['message'] = 'Service does not exist';

            return $response;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我可能有20个需要进行此验证的操作,有没有办法从beforeAction方法返回响应以避免重复代码?

php yii2 yii-rest

2
推荐指数
1
解决办法
1234
查看次数

标签 统计

php ×2

yii-rest ×2

yii2 ×2