Restful API是什么?初探Restful API,传统接口写法与Restful API接口写法区别

Restful API是什么?初探Restful API?为什么要用Restful API?传统接口写法与Restful API接口写法区别,带着这些问题我们来具体了解下Restful API

目录

什么是Restful API?

为什么用Restful API?

Restful API是怎么定义的?定义规则方法:

传统接口写法与Restful API 接口写法区别:


什么是Restful API?

Restful API 从字面就可以知道,他是rest式的接口,所以就要先了解什么是rest。rest 不是一个技术,也不是一个协议。rest 指的是一组架构约束条件和原则,提供了一个新的架构设计思路,满足这些约束条件和原则的应用程序或设计就是 RESTful。在REST规则中,有两个基础概念:对象、行为。对象就是我们要操作的对象,例如添加用户的操作,那么对象就是user

行为有4种常用的:查看、创建、编辑、删除

rest的提出者很巧妙的利用http现有方法来对应这4种行为:

  • GET - 查看
  • POST - 创建
  • PUT - 编辑
  • DELETE - 删除

为什么用Restful API?

例如常用的MVC结构中,前后端的融合还是比较紧密的,用户访问一个网址,例如:http://www.91tuoke.com/a.php,请求先发送到动态php处理,php中处理逻辑,然后使用页面模板来输出显示给用户。

以前用户主要就是用浏览器访问,这样的结构没什么问题,但现在移动客户端越来越重要,显然不能使用这个结构,需要为移动客户端开发接口。

RESTful API 就可以通过一套统一的接口为所有客户端提供web服务,实现前后端分离。

再比如在一个大型系统架构设计中,可能是多种开发语言一起工作,使用 RESTful API 就可以完全不关心开发语言,以标准的接口来协同工作

Restful API是怎么定义的?定义规则方法:

下面通过几个示例了解下Restful API的定义方式,其实就是操作:

添加(POST)
查询(GET)
更新编辑修改(GET/POST/PUT)
删除(DELETE)

(1)查看所有任务

GET http://www.gookang.com/tasks

(2)新建一个任务

POST http://www.gookang.com/tasks

传递Data: title = Foobar

(3)根据ID查看一个任务

GET http://www.gookang.com/tasks/123

(4)更新任务

PUT http://www.gookang.com/tasks/123

传递Data: title = New

(5)删除任务

DELETE http://www.nongyejing.com/tasks/123

可以看到Restful API的风格非常简洁、统一、明确

例如查看操作,用普通方式的话,定义方式是任意的,如:

http://www.haopin.org/listall_tasks

‘listall_tasks’ 就是随意定义的,通过这个名字才可以看出是查看全部的意思,如果开发人员用了一个没有明确意义的名字,那就需要看文档或者代码才能知道含义了

而Restful API 通过 GET 方法就知道是查看操作,通过tasks就知道查看的对象是什么。

传统接口写法与Restful API 接口写法区别:

   说到API接口设计有的喜欢用Web Service,有的喜欢用WCF,当然也有还在用最原始的ashx,aspx页面的。无论采用什么方式能很好的满足业务需求就ok,但是不同的方式在扩展性、易用性,可维护性都有一定的差别。如今移动移动互联网正如火如荼,各种终端,各种平台,各种开发语言也是层出不穷,所以要设计出能满足这些要求的API也就显得至关重要了。

一个文件操作接口,传统模式

api/getfile.php - 获取文件信息,下载文件
api/uploadfile.php - 上传创建文件
api/deletefile.php - 删除文件

RESTful:

api/file 只需要这一个接口

GET 方式请求 api/file - 获取文件信息,下载文件
POST 方式请求 api/file - 上传创建文件
DELETE 方式请求 api/file - 删除某个文件

这样一来简化了API接口的操作性和统一性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章