RESTful 接口规范
2015-11-17 00:00
441 查看
摘要: RESTful 接口规范
http(s)://server.com/app-name/{version}/{domain}/{rest-convention}
这里,{version}代表api的版本信息。{domain}是一个你可以用来定义任何技术的区域(例如:安全-允许指定的用户可以访问这个区域。)或者业务上的原因。(例如:同样的功能在同一个前缀之下。)
{rest-convention} 代表这个域(domain)下,约定的rest接口集合。
单资源( singular-resourceX )
url样例:order/ (order即指那个单独的资源X)
GET - 返回一个新的order
POST- 创建一个新的order,从post请求携带的内容获取值。
单资源带id(singular-resourceX/{id} )
URL样例:order/1 ( order即指那个单独的资源X )
GET - 返回id是1的order
DELETE - 删除id是1的order
PUT - 更新id是1的order,order的值从请求的内容体中获取。
复数资源(plural-resourceX/)
URL样例:orders/
GET - 返回所有orders
复数资源查找(plural-resourceX/search)
URL样例:orders/search?name=123
GET - 返回所有满足查询条件的order资源。(实例查询,无关联) - order名字等于123的。
复数资源查找(plural-resourceX/searchByXXX)
URL样例:orders/searchByItems?name=ipad
GET - 将返回所有满足自定义查询的orders - 获取所有与items名字是ipad相关联的orders。
单数资源(singular-resourceX/{id}/pluralY)
URL样例:order/1/items/ (这里order即为资源X,items是复数资源Y)
GET - 将返回所有与order id 是1关联的items。
singular-resourceX/{id}/singular-resourceY/
URL样例:order/1/item/
GET - 返回一个瞬时的新的与order id是1关联的item实例。
POST - 创建一个与order id 是1关联的item实例。Item的值从post请求体中获取。
singular-resourceX/{id}/singular-resourceY/{id}/singular-resourceZ/
URL样例:order/1/item/2/package/
GET - 返回一个瞬时的新的与item2和order1关联的package实例。
POST - 创建一个新的与item 2和order1关联的package实例,package的值从post请求体中获得。
上面的规则可以在继续递归下去,并且复数资源后面永远不会再跟随负数资源。
总结几个关键点,来更清晰的表述规则。
在使用复数资源的时候,返回的是最后一个复数资源使用的实例。
在使用单个资源的时候,返回的是最后一个但是资源使用的实例。
查询的时候,返回的是最后一个复数实体使用的实例(们)。
RESTful 接口规范
高级别的模式是:http(s)://server.com/app-name/{version}/{domain}/{rest-convention}
这里,{version}代表api的版本信息。{domain}是一个你可以用来定义任何技术的区域(例如:安全-允许指定的用户可以访问这个区域。)或者业务上的原因。(例如:同样的功能在同一个前缀之下。)
{rest-convention} 代表这个域(domain)下,约定的rest接口集合。
单资源( singular-resourceX )
url样例:order/ (order即指那个单独的资源X)
GET - 返回一个新的order
POST- 创建一个新的order,从post请求携带的内容获取值。
单资源带id(singular-resourceX/{id} )
URL样例:order/1 ( order即指那个单独的资源X )
GET - 返回id是1的order
DELETE - 删除id是1的order
PUT - 更新id是1的order,order的值从请求的内容体中获取。
复数资源(plural-resourceX/)
URL样例:orders/
GET - 返回所有orders
复数资源查找(plural-resourceX/search)
URL样例:orders/search?name=123
GET - 返回所有满足查询条件的order资源。(实例查询,无关联) - order名字等于123的。
复数资源查找(plural-resourceX/searchByXXX)
URL样例:orders/searchByItems?name=ipad
GET - 将返回所有满足自定义查询的orders - 获取所有与items名字是ipad相关联的orders。
单数资源(singular-resourceX/{id}/pluralY)
URL样例:order/1/items/ (这里order即为资源X,items是复数资源Y)
GET - 将返回所有与order id 是1关联的items。
singular-resourceX/{id}/singular-resourceY/
URL样例:order/1/item/
GET - 返回一个瞬时的新的与order id是1关联的item实例。
POST - 创建一个与order id 是1关联的item实例。Item的值从post请求体中获取。
singular-resourceX/{id}/singular-resourceY/{id}/singular-resourceZ/
URL样例:order/1/item/2/package/
GET - 返回一个瞬时的新的与item2和order1关联的package实例。
POST - 创建一个新的与item 2和order1关联的package实例,package的值从post请求体中获得。
上面的规则可以在继续递归下去,并且复数资源后面永远不会再跟随负数资源。
总结几个关键点,来更清晰的表述规则。
在使用复数资源的时候,返回的是最后一个复数资源使用的实例。
在使用单个资源的时候,返回的是最后一个但是资源使用的实例。
查询的时候,返回的是最后一个复数实体使用的实例(们)。
相关文章推荐
- iOS 两种方法获取当前网络状态
- Android之用HttpURLConnection参数以XML形式封装的部分关键代码
- TCP、UDP 和Socket编程
- java网络编程之路(一)
- 网络编程-SOCKET选项-缓冲区
- 基于http的QQ协议代码
- netstat 查看TCP状态值
- 网络编程最佳实践
- ///判断网络状态 (简单版)
- HTTP2 学习
- HDU3549 网络流入门题(Dinic)
- 聊聊HTTPS和SSL/TLS协议
- Pull解析XML文件,使用HttpClient方法
- HTTP协议与HTML表单(再谈GET与POST的区别)
- 理解LSTM网络
- Apache http Server 新版本安装与配置
- java笔记_网络编程
- Http协议理解
- ASIHTTPRequest 详解
- 程序员:差距在哪里,你与开发高手的距离到底有多远?(摘自一篇网络文章,共勉!)