Uxf框架引入Rest控制器特性

引入Rest风格接口的特性,主要是为了适应平台化和移动化开发的须要。php

移植自ThinkPHP项目的RestAction。html

REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,能够下降开发的复杂性,提升系统的可伸缩性。REST提出了一些设计概念和准则:git

  1. 网络上的全部事物都被抽象为资源(resource);
  2. 每一个资源对应一个惟一的资源标识(resource identifier);
  3. 经过通用的链接器接口(generic connector interface)对资源进行操做;
  4. 对资源的各类操做不会改变资源标识;
  5. 全部的操做都是无状态的(stateless)。

须要注意的是,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模式主要提供下面的一些功能:网络

  • 路由增长请求类型和资源类型判断支持;
  • 支持资源类型自动检测;
  • 支持请求类型自动检测;
  • RESTFul方法支持;
  • 能够设置容许的请求类型列表;
  • 能够设置容许请求和输出的资源类型;
  • 能够设置默认请求类型和默认资源类型;

要使用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

相关文章
相关标签/搜索