Yii2相比Yii1而言,一个重大的改进是内置了功能完备的RESTful支持。

同时由于官方文档中没有提及到需要在nginx或apache中配置rewrite。所以在这添加备注,算给自己提个醒。

        if (!-f $request_filename){
            set $rule_0 1$rule_0;
        }
        if (!-d $request_filename){
            set $rule_0 2$rule_0;
        }
        if ($rule_0 = "21"){
            rewrite /(.*) /index.php last;
        }

同时官方文档中的针对一个User的Controller,

namespace app\controllers;

use yii\rest\ActiveController;

class UserController extends ActiveController
{
    public $modelClass = 'app\models\User';
}

却要使用请求链接:GET /users:,很不理解。


不过查看代码(yii\rest\UrlRule)后发现有个参数pluralize,默认为true,也就是会按照controller的复数形式来解析url。