什么是Restful API?

一. 定义
Rest的全称是Representational State Transfer,2000年由Roy Fielding发表在他的博士论文中,首次提出了Restful的概念。Restful 做为一种接口的设计规则,基于HTTP协议 ,可以使用XML格式 或JSON格式传输数据。对于使用restful 这套规则定义开发的接口,我们称之为Restful API。
关于Restful的具体表现形式,简单可以用一句话概括:URL定位资源,使用HTTP请求(GET、POST、PUT、DELETE等)对资源进行操作。

二. 设计原则与规范
Restfu是典型的基于HTTP的协议 ,它有哪些设计 原则和规范呢?

  1. URL与资源:资源表示网络上的一个实体对象,可以是一个资产、一首歌曲或一种服务,资源总是以一定的格式来表现自己。通过定义一个URL指向资源,要访问资源时,只需要通过该资源所属的URL进行请求访问即可。一般来说,接口名称只能用名词,不可以用动词,根据HTTP的请求来进行操作,这样可以不在URL不暴露操作方式。
    例如:http://www.kk.com/api/books 表示一个资源(书本)对象
  2. 统一接口规范:Restful 架构应该遵循统一接口原则 ,统一接口包含了一组固定的预定义操作,不管是什么样的资源,都通过方式进行资源访问 。在Restful API架构中,客户端通过HTTP协议,使用GET、POST、PUT和DELETE4种请求方式对服务端资源进行操作,GET用于获取资源,POST用来新建资源,PUT用来更新资源,DELETE用于删除资源。
  3. 无状态:从客户端到服务端的每个请求都是独立 ,请求中必须包含需要的所有信息,这也代表服务器不需要储存任何上下文信息,对于客户端来说,第一次请求和第100次请求都是相同的。在Restful 架构中,尽量避免使用session的方式,而是由客户端自己标识会话状态(token)。
  4. 除以上的操作规范外,另外还有一些要求, 包括:
    url不能使用大写字母;
    不使用文件扩展名,如.php等;
    可在url中增加api版本号等;
    文本返回必须为Json格式。

三. URL格式标准
下面我们通过几个示例来了解下Restful API的格式定义方式

  1. 查看
    GET http://api.xxx.com/users 查看所有用户信息
    GET http://api.xxx.com/users/id 查看该id的用户信息
    GET http://api.xxx.com/users?age=20& 根据搜索条件(age等于20),显示符合条件的用户信息

  2. 创建
    POST http://api.xxx.com/users 创建用户,可在DATA处带需要的参数
  3. 更新
    PUT http://api.xxx.com/users/id?name=‘张三‘&age=20 修改该id的用户信息(name和age)
  4. 删除
    DELETE http://api.xxx.com/users/id 删除该id的用户信息

四. 结尾
Restful Api做为目前比较火的一种架构,做WEB开发的同学有必要知晓。本篇文章主要介绍了restful api的基本概念,大家看完可以对该架构有初步的了解。
但在实际开发中应该如何来实现呢?将会下篇文章中介绍,文章会通过python的Django框架展示代码的开发方法,欢迎关注 。

什么是Restful API?

上一篇:win10家庭版安装docker


下一篇:.NET Core 3 WPF MVVM框架 Prism系列之命令