引入Rest風格接口的特性,主要是為了適應平臺化和移動化開發的需要。
移植自Thinkphp項目的RestAction。
REST(RePResentational State Transfer表述性狀態轉移)是一種針對網絡應用的設計和開發方式,可以降低開發的復雜性,提高系統的可伸縮性。REST提出了一些設計概念和準則:
需要注意的是,REST是設計風格而不是標準。REST通常基于使用HTTP,URI,和xml以及HTML這些現有的廣泛流行的協議和標準。
傳統的請求模式和REST模式的請求模式區別:
| 作用 | 傳統模式 | REST模式 |
|---|---|---|
| 列舉出所有的用戶 | GET /users/list | GET /users |
| 列出ID為1的用戶信息 | GET /users/show/id/1 | GET /users/1 |
| 插入一個新的用戶 | POST /users/add | POST /users |
| 更新ID為1的用戶信息 | POST /users/mdy/id/1 | PUT /users/1 |
| 刪除ID為1的用戶 | POST /users/delete/id/1 | DELETE /users/1 |
增加了Rest模式用于支持RESTFul開發,REST模式主要提供下面的一些功能:
要使用REST模式,只需要控制器繼承Rest_Controller類即可。
| 配置名 | 說明 | 默認值 |
|---|---|---|
| REST_METHOD_LIST | REST允許的請求類型列表 | get,post,put,delete |
| REST_DEFAULT_METHOD | REST默認請求類型 | get |
| REST_CONTENT_TYPE_LIST | REST允許請求的資源類型列表 | html,xml,json,rss |
| REST_DEFAULT_TYPE | REST默認的資源類型 | html |
| REST_OUTPUT_TYPE | REST允許輸出的資源類型列表 | array( 'xml' => 'application/xml', 'json' => 'application/json', 'html' => 'text/html',), |
代碼查看:
https://gitcafe.com/web3d/uxf/blob/master/upload/source/class/rest/rest_controller.php
新聞熱點
疑難解答