restful

  restful的理解

转载:https://segmentfault.com/a/1190000006735330

restful

一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交
互类的软件。REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。它结
构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。

HTTP 协议中的通常用以下动词表示这四类具体的操作:

GET :查询资源操作。

POST :新建资源操作,也可以用于更新资源。

PUT :更新资源操作。

DELETE :删除资源操作。

使用传统 RPC 形式设计针对用户对象的 CRUD 操作:

1
2
3
4
5
6
7
8
// 新建用户
https://open.domain.com/app/addUser
// 查询用户
https://open.domain.com/app/getUser
// 更新用户
https://open.domain.com/app/updateUser
// 删除用户
https://open.domain.com/app/deleteUser

在以上实例中,需要通过四个 URL 来实现 CRUD 操作。而通过 Restful API 设计,可为如下实例

1
2
// GET: 查询用户;POST: 新建用户;PUT: 更新用户;DELETE: 删除用户
https://open.domain.com/app/user

Restful API 劣势

用户登录验证,使用 RPC 形式设计接口如下:

https://open.domain.com/app/checkUser
在以上实例中,对于 Restful API 而言,很难将该业务归类为 HTTP 动词中的某一种。又比如“下单”这一功能,它涉及到了订单、用户、支付账户等多个资源实体的多种操作,因此同样也难以设计为 Restful API 。

Restful API 可能遇到的问题

1、接口版本升级,难维护

2、使用 URL 地址参数形式时,对于可选参数,服务端难以实现正确的读取

3、针对特定的业务功能,难以完全按照 Restful 要求进行设计。例如用户验证、订单提交等涉及到多个资源实体和多种操作的业务流程。

4、Restful 本身并没有安全性方面的标准,需要根据不同的使用场景设计 API 的安全控制方案。

文章目录
  1. 1. restful
  2. 2. Restful API 劣势
  3. 3. Restful API 可能遇到的问题
|