网络(socket、websocket、http、https)

了解 RESTful API

2019-05-17  本文已影响11人  半掩时光

REST,即 REpresentational State Transfer,其主语是 Resource,但是被省略掉了,所以全称是:Resource Representational State Transfer。按照字面意思来理解就是:资源在网络中以某种表现形式进行状态转移,这样的直译,我相信绝大多数看了都是困惑的,用人人都能理解的话来说,就是用 URL 来定位资源,用 HTTP 来描述操作,详细展开就是:

REST 是一种设计风格(不是标准),是一组架构的约束条件和原则,满足这些约束条件和原则的应用程序或设计就是 RESTful。其次,REST 是面向资源的,而资源是通过 URL 进行暴露的。理解这两点对认识 REST 和 RESTful 非常重要。

那我们的 API 应该如何设计,才能满足 RESTful API 的要求呢?

HTTP 动词

对资源的具体操作类型,应该由 HTTP 动词表示,具体如下(括号里是对应的 SQL 命令):

还有两个不常用的 HTTP 动词:

过滤数据

如果查询出的数据很多,API 应该提供参数,将数据的过滤结果进行返回,常见的过滤参数如下:

参数的设计是允许存在冗余的。

状态码

服务器向用户返回的状态码和提示信息,常见的有以下一些(方括号中是该状态码对应的HTTP动词):

错误处理

如果状态码是 4xx,就应该向用户返回出错信息。一般来说,返回的信息中将 error 作为键名,出错信息作为键值即可:

{
    error: "Invalid API key"
}

返回结果

针对不同操作,服务器向用户返回的结果应该符合以下规范:

其他

参考链接:

上一篇下一篇

猜你喜欢

热点阅读