🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## RESTful风格Api 1.RESTful api接口规范:      (1)协议              API与用户的通信协议,总是使用HTTPs协议,确保交互数据的传输安全。      (2)域名应该尽量将API部署在专用域名之下。              https://api.example.com              如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。              https://example.org/api/      (3)api版本控制              应该将API的版本号放入URL。              https://api.example.com/v{n}/             另一种做法是,将版本号放在HTTP头信息中,但不如放入URL方便和直观。Github采用这种做法。             采用多版本并存,增量发布的方式。             v{n} n代表版本号,分为整形和浮点型;             整形的版本号: 大功能版本发布形式;具有当前版本状态下的所有API接口 ,例如:v1,v2;             浮点型:为小版本号,只具备补充api的功能,其他api都默认调用对应大版本号的api 例如:v1.1 v2.2      (4)API 路径规则               路径又称"终点"(endpoint),表示API的具体网址。在RESTful架构中,每个网址代表一种资源(resource),所以               网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记               录的"集合"(collection),所以API中的名词也应该使用复数。               举例来说,有一个API提供动物园(zoo)的信息,还包括各种动物和雇员的信息,则它的路径应该设计成下面这样。               https://api.example.com/v1/products               https://api.example.com/v1/users               https://api.example.com/v1/employees      (5)HTTP请求方式               对于资源的具体操作类型,由HTTP动词表示。               常用的HTTP动词有下面四个(括号里是对应的SQL命令)。              GET(SELECT):从服务器取出资源(一项或多项)。              POST(CREATE):在服务器新建一个资源。              PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。              DELETE(DELETE):从服务器删除资源。             下面是一些例子。              GET /product/ID/purchase :列出某个指定商品的所有投资者              GET /product/ID/purchase/ID:获取某个指定商品的指定投资者信息              GET /product:列出所有商品              GET /product/ID:获取某个指定商品的信息              POST /product:新建一个商品              PUT /product/ID:更新某个指定商品的信息              DELETE /product/ID:删除某个商品     (6)过滤信息              如果记录数量很多,服务器不可能都将它们返回给用户。API应该提供参数,过滤返回结果。              下面是一些常见的参数。              ?limit=10:指定返回记录的数量              ?offset=10:指定返回记录的开始位置。              ?page=2&per_page=100:指定第几页,以及每页的记录数。              ?sortby=name&order=asc:指定返回结果按照哪个属性排序,以及排序顺序。              ?producy_type=1:指定筛选条    (7)API 传入参数             参入参数分为4种类型:             (a)地址栏参数                      restful 地址栏参数 /api/v1/product/122 122为产品编号,获取产品为122的信息                      get方式的查询字串 见过滤信息小节            (b)请求body数据                     cookie                     request header                     cookie和header 一般都是用于OAuth认证的2种途径            (c)返回数据                     只要api接口成功接到请求,就不能返回200以外的HTTP状态。                     为了保障前后端的数据交互的顺畅,建议规范数据的返回,并采用固定的数据格式封装。                     接口返回模板: ———————————————— 版权声明:本文为CSDN博主「jialanshun」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/jialanshun/article/details/80904261