RESTful总结感悟

RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。

REST(英文:Representational State Transfer,简称REST)表述性状态转移。REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。

RESTFUL特点包括:

  1. 每一个URI代表1种资源;

  2. 客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;

  3. 通过操作资源的表现形式来操作资源;

  4. 资源的表现形式是XML或者HTML;

  5. 客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。

REST定义了6个架构约束

,它们构成了任何Web服务 - 一个真正的RESTful API。

  • 统一界面
  • 客户端服务器
  • 无状态
  • 可缓存
  • 分层系统
  • 按需代码

REST资源命名最佳实践

  • 使用名词来表示资源

RESTful URI应该引用作为事物(名词)的资源而不是引用动作(动词),因为名词具有动词不具有的属性 - 类似于具有属性的资源。资源的一些示例是:

系统的用户
用户帐户
网络设备等
他们的资源URI可以设计如下:

http://api.example.com/device-management/managed-devices 
http://api.example.com/device-management/managed-devices/{device-id} 
http://api.example.com/user-management/users/
http://api.example.com/user-management/users/{id}

为了更清楚,让我们将资源原型划分为四个类别(文档,集合,存储和控制器),然后您应始终将资源放入一个原型,然后始终如一地使用它的命名约定。为了一致的缘故,抵制设计资源的诱惑,这些资源是不止一个原型的混合体。

  • 一致性是关键

使用正斜杠(/)表示层次关系
不要在URI中使用尾部正斜杠(/)
使用连字符( - )来提高URI的可读性
不要使用下划线(_)
在URI中使用小写字母

  • 切勿在URI中使用CRUD函数名称

创建模型URI

现在,当对象模型准备就绪时,是时候决定资源URI了。在此步骤中,在设计资源URI时 - 关注资源与其子资源之间的关系。这些资源URI是RESTful服务的端点。

在我们的应用程序中,设备是顶级资源。并且配置是设备下的子资源。让我们写下URI。

/devices

/devices/{id}

/configurations

/configurations/{id}

/devices/{id}/configurations

/devices/{id}/configurations/{id}

请注意,这些URI不使用任何动词或操作。在URI中不包含任何动词非常重要。URI应该都只是名词


版权声明:本文为weixin_45960743原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。