引入Rest风格接口的特性,主要是为了适应平台化和移动化开发的须要。php
移植自ThinkPHP项目的RestAction。html
REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,能够下降开发的复杂性,提升系统的可伸缩性。REST提出了一些设计概念和准则:git
须要注意的是,REST是设计风格而不是标准。REST一般基于使用HTTP,URI,和XML以及HTML这些现有的普遍流行的协议和标准。web
传统的请求模式和REST模式的请求模式区别:json
做用 | 传统模式 | 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类便可。app
配置名 | 说明 | 默认值 |
---|---|---|
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', ), |
代码查看:less
https://gitcafe.com/web3d/uxf/blob/master/upload/source/class/rest/rest_controller.phpide