1. 程式人生 > >yii2的RESTFUL程式設計中的一個路由設定問題

yii2的RESTFUL程式設計中的一個路由設定問題

大家都知道用YII2做RESTFUL風格的專案要在配置檔案中指定urlManger類似於下面這樣:

'urlManager' => [
            'enablePrettyUrl' => true,
            'enableStrictParsing' => true,
            'showScriptName' => false,
            'rules' => [
                [
                    'class' => 'yii\rest\UrlRule',
                    'controller' => $restAPIs, //controller名字陣列
                    'pluralize' => FALSE,
                 ],
],

但這樣做有個問題,那就是隻能對類似xxx.com/users, xxx.com/user/1這樣的url有效,有些專案同時有html檔案和restful資源,需要客戶端往往要在restful的路徑前加諸如api之類的字首形成類似於xxx.com/api/users這樣的格式,這時候就需要在rules數組裡新增一句'prefix' => 'api',或者修改yii\rest\UrlRule的公共屬性$prefix = 'api'(不推薦).