W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
隨著資源和控制器類(lèi)準(zhǔn)備,您可以使用URL如?http://localhost/index.php?r=user/create
訪問(wèn)資源,類(lèi)似于你可以用正常的Web應(yīng)用程序做法。
在實(shí)踐中,你通常要用美觀的URL并采取有優(yōu)勢(shì)的HTTP動(dòng)詞。 例如,請(qǐng)求POST /users
意味著訪問(wèn)user/create
動(dòng)作。 這可以很容易地通過(guò)配置urlManager
應(yīng)用程序組件來(lái)完成 如下所示:
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
['class' => 'yii\rest\UrlRule', 'controller' => 'user'],
],
]
相比于URL管理的Web應(yīng)用程序,上述主要的新東西是通過(guò)RESTful API 請(qǐng)求yii\rest\UrlRule。這個(gè)特殊的URL規(guī)則類(lèi)將會(huì) 建立一整套子URL規(guī)則來(lái)支持路由和URL創(chuàng)建的指定的控制器。 例如, 上面的代碼中是大致按照下面的規(guī)則:
[
'PUT,PATCH users/<id>' => 'user/update',
'DELETE users/<id>' => 'user/delete',
'GET,HEAD users/<id>' => 'user/view',
'POST users' => 'user/create',
'GET,HEAD users' => 'user/index',
'users/<id>' => 'user/options',
'users' => 'user/options',
]
該規(guī)則支持下面的API末端:
GET /users
: 逐頁(yè)列出所有用戶(hù);HEAD /users
: 顯示用戶(hù)列表的概要信息;POST /users
: 創(chuàng)建一個(gè)新用戶(hù);GET /users/123
: 返回用戶(hù)為123的詳細(xì)信息;HEAD /users/123
: 顯示用戶(hù) 123 的概述信息;PATCH /users/123
?and?PUT /users/123
: 更新用戶(hù)123;DELETE /users/123
: 刪除用戶(hù)123;OPTIONS /users
: 顯示關(guān)于末端?/users
?支持的動(dòng)詞;OPTIONS /users/123
: 顯示有關(guān)末端?/users/123
?支持的動(dòng)詞。您可以通過(guò)配置?only
?和?except
?選項(xiàng)來(lái)明確列出哪些行為支持, 哪些行為禁用。例如,
[
'class' => 'yii\rest\UrlRule',
'controller' => 'user',
'except' => ['delete', 'create', 'update'],
],
您也可以通過(guò)配置?patterns
?或?extraPatterns
?重新定義現(xiàn)有的模式或添加此規(guī)則支持的新模式。 例如,通過(guò)末端?GET /users/search
?可以支持新行為?search
, 按照如下配置?extraPatterns
?選項(xiàng),
[
'class' => 'yii\rest\UrlRule',
'controller' => 'user',
'extraPatterns' => [
'GET search' => 'search',
],
您可能已經(jīng)注意到控制器IDuser
以復(fù)數(shù)形式出現(xiàn)在users
末端。 這是因?yàn)?yii\rest\UrlRule 能夠?yàn)樗麄兪褂玫哪┒巳詣?dòng)復(fù)數(shù)化控制器ID。 您可以通過(guò)設(shè)置 yii\rest\UrlRule::pluralize 為false 來(lái)禁用此行為,如果您想 使用一些特殊的名字您可以通過(guò)配置 yii\rest\UrlRule::controller 屬性。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: