RestfulAPI是什么?初探RestfulAPI?为什么要用RestfulAPI?传统接口写法与RestfulAPI接口写法区别,带着这些问题我们来具体了解下RestfulAPI:
什么是RestfulAPI?
RestfulAPI从字面就可以知道,他是rest式的接口,所以就要先了解什么是rest。rest不是一个技术,也不是一个协议。rest指的是一组架构约束条件和原则,提供了一个新的架构设计思路,满足这些约束条件和原则的应用程序或设计就是RESTful。在REST规则中,有两个基础概念:对象、行为。对象就是我们要操作的对象,例如添加用户的操作,那么对象就是user
行为有4种常用的:查看、创建、编辑、删除
rest的提出者很巧妙的利用http现有方法来对应这4种行为:
GET-查看POST-创建PUT-编辑DELETE-删除
为什么用RestfulAPI?
例如常用的MVC结构中,前后端的融合还是比较紧密的,用户访问一个网址,例如:http://www.91tuokcom/php,请求先发送到动态php处理,php中处理逻辑,然后使用页面模板来输出显示给用户。
以前用户主要就是用浏览器访问,这样的结构没什么问题,但现在移动客户端越来越重要,显然不能使用这个结构,需要为移动客户端开发接口。
RESTfulAPI就可以通过一套统一的接口为所有客户端提供web服务,实现前后端分离。
再比如在一个大型系统架构设计中,可能是多种开发语言一起工作,使用RESTfulAPI就可以完全不关心开发语言,以标准的接口来协同工作
RestfulAPI是怎么定义的?定义规则方法:
下面通过几个示例了解下RestfulAPI的定义方式,其实就是操作:
添加查询更新编辑修改删除
查看所有任务
新建一个任务
根据ID查看一个任务
更新任务
删除任务
可以看到RestfulAPI的风格非常简洁、统明确
例如查看操作,用普通方式的话,定义方式是任意的,如:
‘listall_tasks’就是随意定义的,通过这个名字才可以看出是查看全部的意思,如果开发人员用了一个没有明确意义的名字,那就需要看文档或者代码才能知道含义了
而RestfulAPI通过GET方法就知道是查看操作,通过tasks就知道查看的对象是什么。
传统接口写法与RestfulAPI接口写法区别:
说到API接口设计有的喜欢用WebService,有的喜欢用WCF,当然也有还在用最原始的ashx,aspx页面的。无论采用什么方式能很好的满足业务需求就ok,但是不同的方式在扩展性、易用性,可维护性都有一定的差别。如今移动移动互联网正如火如荼,各种终端,各种平台,各种开发语言也是层出不穷,所以要设计出能满足这些要求的API也就显得至关重要了。
一个文件操作接口,传统模式:
api/getfilphp-获取文件信息,下载文件api/uploadfilphp-上传创建文件api/deletefilphp-删除文件
api/file只需要这一个接口GET方式请求api/file-获取文件信息,下载文件POST方式请求api/file-上传创建文件DELETE方式请求api/file-删除某个文件
这样一来简化了API接口的操作性和统一性。
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点