yii2的RESTFUL程式設計中的一個路由設定問題
阿新 • • 發佈:2019-01-31
大家都知道用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'(不推薦).