REST之若只如初见
前言:目前大多数web应用服务都有采用REST,这里贴一点REST基础。
(1)REST的风格
REST 要求开发人员显式地使用 HTTP 方法,并且使用方式与协议定义一致。这个基本 REST 设计原则建立了创建、读取、更新和删除(create, read,
update, and delete,CRUD)操作与 HTTP 方法之间的一对一映射。根据此映射:
若要在服务器上创建资源,应该使用 POST 方法。
若要检索某个资源,应该使用 GET 方法。
若要更改资源状态或对其进行更新,应该使用 PUT 方法。
若要删除某个资源,应该使用 DELETE 方法。
(2)方法使用原则
作为一般设计原则,通过在 URI 中使用名词而不是动词,对于遵循有关显式使用 HTTP 方法的 REST 指导原则是有帮助的。在基于 REST 的 Web 服务中,协
议已经对动词(POST、GET、PUT 和 DELETE)进行了定义。在理想的情况下,为了保持接口的通用化,并允许客户端明确它们调用的操作,Web 服务不应该定
义更多的动词或远程过程,例如 /adduser 或 /updateuser。这条通用设计原则也适用于 HTTP 请求的正文,后者旨在用于传输资源状态,而不是用于携带要
调用的远程方法或远程过程的名称。
(3)服务无状态
客户端应用程序与服务之间的这种协作对于基于 REST 的 Web 服务中的无状态性极为重要。允许对同一个资源进行多种操作。
(4)URI 的模式
http://www.myservice.org/discussion/{year}/{day}/{month}/{topic}
在考虑基于 REST 的 Web 服务的 URI 结构时,需要指出的一些附加指导原则包括:
隐藏服务器端脚本技术文件扩展名(.jsp、.php、.asp)——如果有的话,以便您能够移植到其他脚本技术而不用更改 URI。
(5)Rest使用基于MIME
MIME-Type Content-Type
JSON application/json
XML application/xml
XHTML application/xhtml+xml
(6)REST应用知道
REST 并非始终是正确的选择。它作为一种设计 Web 服务的方法而变得流行,这种方法对专有中间件(例如某个应用程序服务器)的依赖比基于 SOAP 和 WSDL
的方法更少。在某种意义上,通过强调 URI 和 HTTP 等早期 Internet 标准,REST 是对大型应用程序服务器时代之前的 Web 方式的回归。正如您已经在所谓
的基于 REST 的接口设计原则中研究过的一样,XML over HTTP 是一个功能强大的接口,允许内部应用程序(例如基于 Asynchronous JavaScript + XML
(Ajax) 的自定义用户界面)轻松连接、定位和使用资源。事实上,Ajax 与 REST 之间的完美配合已增加了当今人们对 REST 的注意力。
通过基于 REST 的 API 公开系统资源是一种灵活的方法,可以为不同种类的应用程序提供以标准方式格式化的数据。它可以帮助满足集成需求(这对于构建可
在其中容易地组合 (Mashup) 数据的系统非常关键),并帮助将基于 REST 的基本服务集扩展或构建为更大的集合。
本文来自编程入门网:http://www.bianceng.cn/Programming/extra/201203/33711_5.htm