yii2 restful web服務路由

2021-09-02 08:55:51 字數 2057 閱讀 2127

隨著資源和控制器類準備,您可以使用url如http://localhost/index.php?r=user/create訪問資源,類似於你可以用正常的web應用程式做法。

在實踐中,你通常要用美觀的url並採取有優勢的http動詞。 例如,請求post /users意味著訪問user/create動作。 這可以很容易地通過配置urlmanager應用程式元件來完成 如下所示:

'urlmanager'

=> [

'enableprettyurl'

=>

true,

'enablestrictparsing'

=>

true,

'showscriptname'

=>

false,

'rules'

=> [

['class'

=>

'yii\rest\urlrule'

, 'controller'

=>

'user'

],],

]

相比於url管理的web應用程式,上述主要的新東西是通過restful api 請求[[yii\rest\urlrule]]。這個特殊的url規則類將會 建立一整套子url規則來支援路由和url建立的指定的控制器。 例如, 上面的**中是大致按照下面的規則:

[

'put,patch users/'

=>

'user/update','

delete users/

' =>

'user/delete'

,'get,head users/'

=>

'user/view'

,'post users'

=>

'user/create'

,'get,head users'

=>

'user/index'

,'users/'

=>

'user/options'

,'users'

=>

'user/options'

,]

該規則支援下面的api末端:

您可以通過配置onlyexcept選項來明確列出哪些行為支援, 哪些行為禁用。例如,

[

'class'

=>

'yii\rest\urlrule'

,'controller'

=>

'user'

,'except'

=> ['delete'

, 'create'

, 'update'

],],

您也可以通過配置patternsextrapatterns重新定義現有的模式或新增此規則支援的新模式。 例如,通過末端get /users/search可以支援新行為search, 按照如下配置extrapatterns選項,

[

'class'

=>

'yii\rest\urlrule'

,'controller'

=>

'user'

,'extrapatterns'

=> [

'get search'

=>

'search'

,],

您可能已經注意到控制器iduser以複數形式出現在users末端。 這是因為 [[yii\rest\urlrule]] 能夠為他們使用的末端全自動複數化控制器id。 您可以通過設定 [[yii\rest\urlrule::pluralize]] 為false 來禁用此行為,如果您想 使用一些特殊的名字您可以通過配置 [[yii\rest\urlrule::controller]] 屬性。

Yii2 配置yii2 redis擴充套件

前提 已經安裝redis。一 包檔案安裝 yiisoft yii2 redis extentions.php然後配置vender yiisoft extensions.php檔案 yiisoft yii2 redis array name yiisoft yii2 redis version 2.0...

Yii2 配置yii2 redis擴充套件

前提 已經安裝redis。一 包檔案安裝 yiisoft yii2 redis extentions.php 然後配置vender yiisoft extensions.php檔案 yiisoft yii2 redis array name yiisoft yii2 redis version 2....

yii2擴充套件yii2 imagine遇到的問題

最近在使用yii2移植 時,在縮圖那裡卡了兩天,幾乎搞得想崩潰,但經過我不屈不撓的努力,終於成功搞定!剛開始一直按照網上的教程,在cmd使用命令列安裝,php composer.phar require prefer dist yiisoft yii2 imagine ps 附上該方法教程 但是一直...