Rest服务介绍及服务文档标准编写

标签: rest 服务 服务 | 发表时间:2015-10-07 21:26 | 作者:
出处:http://www.iteye.com

REST介绍

REpresentational State Transfer (REST) 是一种架构原则,其中将 web 服务视为资源,可以由其 URL 唯一标识。RESTful Web 服务的关键特点是明确使用 HTTP 方法来表示不同的操作的调用。

REST 的基本设计原则对典型 CRUD 操作使用 HTTP 协议方法:

POST - 创建资源

GET - 检索资源

PUT – 更新资源

DELETE - 删除资源

REST 服务的主要优势在于:

它们是跨平台 (Java、.net、PHP 等)高度可重用的,因为它们都依赖基本 HTTP 协议。

它们使用基本的 XML,而不是复杂的 SOAP XML,使用非常方便。

 

基于 REST 的 web 服务日益成为后端企业服务集成的首选方法。与基于 SOAP 的 web 服务相比,它的编程模型简单,而本机 XML(而不是 SOAP )的使用减少了序列化和反序列化过程的复杂性,并且不再需要其他作用相同的第三方库。

 

编写目的

编写本文的目的是为了将系统功能进行模块化、服务化,将用户的操作以服务的方式提供。系统与系统之间遵循服务规范,将系统与系统之间的交互转为定制化服务交互,以实现系统与系统之间的集成。

编写原则

可寻址性( Addressability REST 中的所有东西都基于 资源的概念。资源与 OOP 中的对象或其他名词不同,它是一种抽象,必须可以通过 URI 寻址或访问。

接口一致性( Interface uniformity 与 SOAP 或其他标准不同,REST 要求用来操纵资源的方法或动词不是任意的。这意味着 RESTful 服务的开发人员只能使用 HTTP 支持的方法,比如GET、PUT、POST、DELETE等等。因此不需要使用 WSDL 等服务描述语言。

无状态( Statelessness 为了增强可伸缩性,服务器端不存储客户机的状态信息。这使服务器不与特定的客户机相绑定,负载平衡变得简单多了。这还让服务器更容易监视、更可靠。

具象( Representational 客户机总是与资源的某种具象交互,绝不会直接与资源本身交互。同一资源还可以有多个具象。理论上说,持有资源的具象的任何客户机应该有操纵底层资源的足够信息。

连通性( Connectedness 任何基于 REST 的系统都应该预见到客户机需要访问相关的资源,应该在返回的资源具象中包含这些资源。例如,可以以超链接的形式包含特定 RESTful 服务的操作序列中的相关步骤,让客户机可以根据需要访问它们。基于 REST 的 Web 服务日益成为后端企业服务集成的

变更历史

序号

变更人员

变更时间

变更内容

1

 

 2014-10-02

我的收藏服务2.1、2.2、2.3、2.4、2.5、2.6、2.7、2.8

 

 

 

 

 

 

 

 

 

我的收藏服务列表

添加标签分类

 

请求方式

PUT

服务路径

/bookmark/add/bookmarktag

路径参数/描述

参数类型

application/json

参数描述

{“name”:”标签1”}

备注:ame:标签名称

返回值类型

application/json

描述

添加成功:{result:0}

添加失败:{result:1}

不允许重复添加: {result:2}

 

删除分类标签

 

请求方式

DELETE

服务路径

/bookmark/delete/tag/{id}

路径参数/描述

id:分类标签id

参数类型

参数描述

返回值类型

application/json

描述

添加成功:{result:0}

添加失败:{result:1}

 

更新分类标签

请求方式

UPDATE

服务路径

/bookmark/update/tag/{id}

路径参数/描述

id:分类标签id

参数类型

application/json

参数描述

{“name”:”标签1”}

备注:ame:标签名称

返回值类型

application/json

描述

添加成功:{result:0}

添加失败:{result:1}

 

获取分类标签列表

请求方式

GET

服务路径

/bookmark/list/tags

路径参数/描述

参数类型

参数描述

返回值类型

application/json

描述

{“list”:[{“id”:”123456”,

”name”:”华为官网”,

”userid”:”1”,

“orderid”:”1”,

“count”:20},…,}]

id:标签分类

name:标签分类名称

orderid:标签分类排序id

count:此分类标下下的收藏连接总数

 

添加我的收藏连接

请求方式

PUT

服务路径

/bookmark/add/url

路径参数/描述

参数类型

application/json

参数描述

{“name”:”huawei”,”url”:”http://www.huawei.com”,”tagname”:”tag1”}

name:我的收藏连接名称

url:我的收藏连接url

tagname:标签分类名称

返回值类型

application/json

描述

添加成功:{result:0}

添加失败:{result:1}

不允许往同一标签下添加重复连接: {result:2}

 

更新我的收藏连接

请求方式

UPDATE

服务路径

/bookmark/update/url

路径参数/描述

参数类型

application/json

参数描述

{“name”:”huawei”,”url”:”http://www.huawei.com”,”tagname”:”tag1”}

name:我的收藏连接名称

url:我的收藏连接url

tagname:标签分类名称

返回值类型

application/json

描述

添加成功:{result:0}

添加失败:{result:1}

 

删除我的收藏连接

请求方式

DELETE

服务路径

/bookmark/delete/url/{tagid}

路径参数/描述

tagid:标签分类id

参数类型

application/json

参数描述

{“id”:”连接id”}

id: 连接id

返回值类型

application/json

描述

删除成功:{result:0}

删除失败:{result:1}

 

查询我的收藏连接

请求方式

GET

服务路径

/bookmark/find/bookmarks/{tagid}

路径参数/描述

tagid:标签分类id

参数类型

参数描述

返回值类型

application/json

描述

{“bookmarklist”:[{“id”:”123456”,

”name”:”华为官网”,

“url”:”1”,

”userid”:”1”,

 

},…,}], “count”:20}

id:连接id

name:连接名称

url:连接url

userid:用户id

count:收藏连接总数

 

》》更多资料下载

 

 

 

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [rest 服务 服务] 推荐:

REST服务开发实战

- - 互联网 - ITeye博客
本文转自http://kb.cnblogs.com/page/91827/.   如果要说什么是REST的话,那最好先从Web(万维网)说起. 读者可以查看维基百科的词条( http://zh.wikipedia.org/zh-cn/Web),具体的我就不多说了. 总之,Web是我们在互联网上最常用的服务,甚至在某些人的心中,互联网就是Web.

Rest服务介绍及服务文档标准编写

- - ITeye博客
REpresentational State Transfer (REST) 是一种架构原则,其中将 web 服务视为资源,可以由其 URL 唯一标识. RESTful Web 服务的关键特点是明确使用 HTTP 方法来表示不同的操作的调用. REST 的基本设计原则对典型 CRUD 操作使用 HTTP 协议方法:.

(收藏)Spring Security笔记:解决CsrfFilter与Rest服务Post方式的矛盾

- - jackyrong
基于Spring Security+Spring MVC的web应用,为了防止跨站提交攻击,通常会配置csrf,即:. 如果应用中有Post方式访问的Rest服务(参考下面的代码),会很不幸的发现,所有POST方式请求的服务会调用失败. 原因在于:启用csrf后,所有http请求都被会CsrfFilter拦截,而CsrfFilter中有一个私有类DefaultRequiresCsrfMatcher.

服务禁语

- tiancaicai - 白板报
前几天在一个公交汽车站拍到了一张规定,里面规定了服务禁语和礼貌用语,看了大乐. 3、乘车高峰车厢内拥挤时,禁语:“快往里走,站在前面又没有钞票检. ”文明语:“请尽量往里走,照顾没有上车的乘客”. 4、车子抛锚,禁语:“车子抛锚没有办法,人都要生毛病的,车子坏了也正常. ”文明语:“对不起,车子出现故障修一下,请大家理解.

服务熔断

- - CSDN博客推荐文章
服务熔断也称服务隔离,来自于Michael Nygard 的《Release It》中的CircuitBreaker应用模式,Martin Fowler在博文 CircuitBreaker中对此设计进行了比较详细说明. 本文认为服务熔断是服务降级的措施. 服务熔断对服务提供了proxy,防止服务不可能时,出现串联故障(cascading failure),导致雪崩效应.

经典论文 — REST

- ripwu - kernelchina
牛人Roy Thomas Fielding的博士论文,此处可以访问到英文版,中文版可以google一下. HTTP1.0,1.1版本以及URI规范的主要作者,Apache的co-founder. 在写这篇论文之前已经很牛了,笔者不明白的是这种档次牛人还要读博士,文凭有这么重要吗. 文中没有任何令人眼花的数学公式和统计图表,实际上是一篇描述URI,HTTP设计经验教训总结的文章.

MongoDB REST Api介绍

- peigen - NoSQLFan
MongoDB默认会开启一个HTTP协议的端口提供REST的服务,这个端口是你Server端口加上1000,比如你的Server端口为27017,那么这个HTTP端口就是28017,默认的HTTP端口功能是有限的,你可以通过添加–rest参数启动更多功能. 下面是在这个端口通过其RESTFul 的API操作MongoDB数据的几个例子,来源是MongoDB官方文档.

WebSockets与REST之争?

- - 酷勤网-挖经验 [expanded by feedex.net]
WebSockets变得越来越流行并积累了不少用户. 去年年底,WebSockets成为了. W3C的推荐候选,这使得其向标准更迈进了一步. Oracle等其他厂商最近也提交了申请,来启动在Java企业版的下一个版本中引入WebSockets(. JSR 356)的标准流程工作. 绝大部分的主流浏览器,如Chrome、Firefox、Safari和IE,都支持某个WebSockets修正本,并最终会采用最后成形的标准.

面向服务与微服务架构

- - CSDN博客推荐文章
最近阅读了 Martin Fowler 和 James Lewis 合著的一篇文章  Microservices, 文中主要描述和探讨了最近流行起来的一种服务架构模式——微服务,和我最近几年工作的实践比较相关感觉深受启发. 本文吸收了部分原文观点,结合自身实践经验来探讨下服务架构模式的演化. 面向服务架构 SOA 思想概念的提出已不是什么新鲜事,大概在10年前就有不少相关书籍介绍过.