1 回答

TA貢獻1827條經驗 獲得超8個贊
說到 REST ,現在大多的所謂 REST 風格,沒有達到真正 REST 定義的那樣,
不過面向實用我們不必拘泥這些概念上的問題,如果有看官覺得覺得實現不夠 REST 敬請拍磚,
具體問題我們可以具體討論。
首先做一下接口的 URL 規劃,假設我們要面對的資源是 item ,
現在我們暴露5個接口供其他應用調用,
分別是:
對于所有 item 列表調用: GET /rest/item
對于某個 item 信息調用: GET /rest/item/(\d+)
創建一個 item: POST /rest/item
更新一個 item: PUT /rest/item/(\d+)
刪除一個 item: DELETE /rest/item/(\d+)
然后根據規劃在主配置里注冊路由:
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
// REST routers
array('rest/list', 'pattern'=>'rest/item', 'verb'=>'GET'),
array('rest/view', 'pattern'=>'rest/item/', 'verb'=>'GET'),
array('rest/create', 'pattern'=>'rest/item', 'verb'=>'POST'),
array('rest/update', 'pattern'=>'rest/item/', 'verb'=>'PUT'),
array('rest/delete', 'pattern'=>'rest/item/', 'verb'=>'DELETE'),
),
),
這里需要吐槽一下官方文檔,路由配置這塊基本什么說明都沒寫,
比如rules數組中的配置數組,里的各種參數含義,
比如verb,利用這個參數就能好好的綁定路由,
不必再到controller里進行判斷了。只有api參考里有些關于屬性和方法的說明,
主要信息來源還得靠在 Google 中自行尋覓。
然后開始編寫 REST 的 Controller,
安裝 yii 框架的約定,我們建立 protected/controllers/RestController.php
- 1 回答
- 0 關注
- 579 瀏覽
添加回答
舉報