RESTful风格与RESTful Api

REST(representational state transfer)(表述性状态转移),词汇解析:

1、representational 表述性:指资源以用各种形式来表述,包括 XML、JSON 甚至 HTML——最适合资源使用者的任意形式;

2、state 状态:资源有状态

3、transfer 转移:资源从一个应用转移到另一个应用

什么是资源?

所谓"资源",就是网络上的一个实体,或者说是网络上的一个具体信息,可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在

资源总要通过某种载体反应其内容,文本可以用txt格式表现,也可以用HTML格式、XML格式表现,甚至可以采用二进制格式;图片可以用JPG格式表现,也可以用PNG格式表现;

JSON是现在最常用的资源表示格式。

统一接口

数据的元操作,即CRUD(create, read, update和delete),分别对应于HTTP方法:GET,POST,PUT,DELETE,

这样就统一了数据操作的接口,仅通过HTTP方法,就可以完成对数据的所有增删查改工作

URI

可以用一个URI(统一资源定位符)指向资源,即每个URI都对应一个特定的资源。

无状态

(这个有点难以理解,可理解为能通过URI直接获取资源,而不用处于已登录等各种状态之中)

所谓无状态的,即所有的资源都可以通过URI定位,而且这个定位与其他资源无关,也不会因为其他资源的变化而改变

有状态和无状态的区别,举个简单的例子说明一下:

查询员工的工资,如工资需要登录后才能获取工资,则这种情况是有状态的;

如果输入一个url即可得到指定员工的工资,则这种情况是无状态的。

典型:HTTP

--------------------------------------------------------------------------

RESTful Api

工作中常见到各种api,很多都被称为RESTful风格,接下来说一下什么是RESTful Api。

RESTful核心思想之一就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。比如,GET /articles这个命令,GET是动词,/articles是宾语

动词通常就是五种 HTTP 方法,对应 CRUD 操作。

关于RESTful Api的详细规范,可参考:

http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html

 
原文地址:https://www.cnblogs.com/yanze/p/10613948.html