Restful api 和 传统api1.Restful是什么? API
Restful API 从字面上看,他是rest接口,所以首先要知道rest是什么。rest 不是技术,也不是协议。rest 指一组架构约束条件和原则,提供新的架构设计理念,满足这些约束条件和原则的应用程序或设计是 RESTful。在REST规则中,有两个基本概念:对象和行为。对象是我们要操作的对象,比如添加用户的操作,那么对象就是user。
常用的行为有四种:查看、创建、编辑和删除
rest的提出者巧妙地利用htp现有的方法来对应这四种行为:
GET - 查看
POST - 创建
PUT - 编辑
DELETE - 删除
2.为什么使用Restfulll? API例如,在常用的MVC结构中,前后端的集成仍然相对紧密,用户访问一个网站,例如:http://www.91tuoke.com/a.图灵,请求先发送到动态图灵处理,图灵处理逻辑,然后用页面模板输出显示给用户。
过去,用户主要使用浏览器访问。这种结构没有问题,但现在移动客户端变得越来越重要。显然,这种结构不能使用,需要为移动客户端开发界面。
RESTful API 所有客户端都可以通过统一的接口提供web服务,实现前后端分离。
另一个例子是,在大型系统架构设计中,各种开发语言可以一起工作和使用 RESTful API 你可以完全不关心语言的发展,并与标准界面合作
3.Restful API定义规则方法以下是Restful的一些示例 API的定义实际上是操作:
添加(POST)
查询(GET)
更新编辑修改(GET/POST/PUT)
删除(DELETE)
(1)检查所有任务
GEThttp://www.gookang.com/tasks
(2)新任务
POSThttp://www.gookang.com/tasks
传达Data: title = Foobar
(3)根据ID查看任务
GEThttp://www.gookang.com/tasks/123
(4)更新任务
PUThttp://www.gookang.com/tasks/123
传达Data: title = New
(5)删除任务
DELETEhttp://www.nongyejing.com/tasks/123
Restful可以看到 API的风格非常简单、统一、清晰
例如,如果以普通的方式查看操作,定义方法是任意的,例如:
http://www.haopin.org/listall_tasks
‘listall_tasks’ 它是随机定义的。只有通过这个名字,我们才能看到它的意思。如果开发人员使用一个没有明确意义的名称,他们需要查看文档或代码才能知道意义
而Restful API 通过 GET 方法知道是查看操作,通过tasks知道查看对象是什么。
4.传统的接口写法和Restful API 接口写法的差异说到API接口设计,有些人喜欢使用Web Service,有些人喜欢使用WCF,当然,有些人仍然使用最原始的ashx和aspx页面。无论采用什么方法,都能很好地满足业务需求,但不同的方法在扩展性、易用性和可维护性方面存在一定的差异。如今,移动互联网正如火如荼,各种终端、平台和开发语言层出不穷。因此,设计能够满足这些要求的API是非常重要的。
文件操作接口,
传统模式:
api/getfile.图灵 - 获取文件信息,下载文件
api/uploadfile.图灵 - 上传创建文件
api/deletefile.图灵 - 删除文件
RESTful:
api/file 只需要这个接口
GET 方式请求 api/file - 获取文件信息,下载文件
POST 方式请求 api/file - 上传创建文件
DELETE 方式请求 api/file - 删除文件
这简化了API接口的可操作性和统一性。