网络应用程序,分为前端和后端两个部分,当前的发展趋势,就是前端设备层出不穷,如手机、平板、桌面电脑等等。
因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信,这导致 API 构架的流 行,甚至出现"API First"的设计思想,RESTful API 是目前比较成熟的一套互联网应用程序的 API 设计理论。
一个好的 RESTful API 我们应从以下几个方面考虑:
1. 协议,建议使用更安全的https协议;
2. 域名,尽量部署在专属域名下面;
(1). https://api.baidu.com;
(2). https://api.qq.com;
3. 应该将api的版本号放入URl中;
(1). https://baidu.com/api1/user_list ;
(2). https://baidu.com/api2/user_list;
4. 路径,在RESTful架构中,每个网址代表一种资源(resource),所以网址中建议不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合"(collection),所以 API 中的名词也应该使用复数;
5. Http 请求数据的方式;
(1). GET(SELECT),查询服务器资源;
(2). POST(CREATE),新增服务器资源;
(3). PUT(UPDATE),更新服务器资源;
(4). DELETE(DELETE),删除服务器资源;
以下三个HTTP 请求方式不常用
(5). HEAD,获取资源的元数据;
(6). OPTIONS,获取信息,关于资源的哪些属性是客户端可以改变的;
(7). PATCH(UPDATE),在服务器更新资源(客户端提供改变的属性);
6. 过滤方式、请求数据方式、返回数据、安全;