API 接口规范

简介: API 接口规范

协议

API 与客户端通讯协议主要包含 httphttps,建议使用 https 确保交互数据的传输安全。

域名

应该尽量将API部署在专用域名之下。

15.png
如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。

16.png

api版本控制

应该将API的版本号放入URL。

17.png


另一种做法是,将版本号放在HTTP头信息中,但不如放入URL方便和直观。Github采用这种做法。


采用多版本并存,增量发布的方式。


v{n}: n代表版本号,分为整形和浮点型


整型版本号:大功能版本发布形式;具有当前版本状态下的所有API接口 。例如:v1、v2


浮点型版本号:为小版本号,只具备补充api的功能,其他api都默认调用对应大版本号的api。例如:v1.1、 v2.2


API 路径规则

路径又称"终点"(endpoint),表示API的具体网址。


在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。


举例来说,有一个API提供动物园(zoo)的信息,还包括各种动物和雇员的信息,则它的路径应该设计成下面这样。



18.pngHTTP请求方式

对于资源的具体操作类型,由HTTP动词表示。


常用的HTTP动词有下面四个(括号里是对应的SQL命令)。


GET(SELECT):从服务器取出资源(一项或多项)。


POST(CREATE):在服务器新建一个资源。


PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。


DELETE(DELETE):从服务器删除资源。


下面是一些例子。


1)GET /product:列出所有商品


2)POST /product:新建一个商品


3)GET /product/ID:获取某个指定商品的信息


4)PUT /product/ID:更新某个指定商品的信息


5)DELETE /product/ID:删除某个商品


6)GET /product/ID/purchase :列出某个指定商品的所有投资者


7)get /product/ID/purchase/ID:获取某个指定商品的指定投资者信息


过滤信息

如果记录数量很多,服务器不可能都将它们返回给用户。API应该提供参数,过滤返回结果。


下面是一些常见的参数。


1)?limit=10:指定返回记录的数量


2)?offset=10:指定返回记录的开始位置。


3)?page=2&per_page=100:指定第几页,以及每页的记录数。


4)?sortby=name&order=asc:指定返回结果按照哪个属性排序,以及排序顺序。


?producy_type=1:指定筛选条件


返回数据

只要api接口成功接到请求,就不能返回200以外的HTTP状态。


为了保障前后端的数据交互的顺畅,建议规范数据的返回,并采用固定的数据格式封装。


接口返回模板:

19.png
status 接口的执行的状态


=0 表示成功


<0 表示有异常


Data 接口的主数据


可以根据实际返回数组或JSON对象


Msg 信息


当status!=0 都应该有错误信息


非Restful Api的需求

由于实际业务开展过程中,可能会出现各种的api不是简单的restful 规范能实现的,因此,需要有一些api突破restful规范原则。特别是移动互联网的api设计,更需要有一些特定的api来优化数据请求的交互。


页面级的api

把当前页面中需要用到的所有数据通过一个接口一次性返回全部数据


举例


api/v1/get-home-data 返回首页用到的所有数据


这类API有一个非常不好的地址,只要业务需求变动,这个api就需要跟着变更。


自定义组合api

把当前用户需要在第一时间内容加载的多个接口合并成一个请求发送到服务端,服务端根据请求内容,一次性把所有数据合并返回,相比于页面级api,具备更高的灵活性,同时又能很容易的实现页面级的api功能。


规范


地址:api/v1/batApi


传入参数:


名称

类型

必须

描述

key

String

调用key(获取API测试key

secret

String

调用密钥

api_name

String

API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]

cache

String

[yes,no]默认yes,将调用缓存的数据,速度比较快

result_type

String

[json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读

lang

String

[cn,en,ru]翻译语言,默认cn简体中文

version

String

API版本

相关文章
|
10天前
|
人工智能 自然语言处理 API
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
谷歌推出的Multimodal Live API是一个支持多模态交互、低延迟实时互动的AI接口,能够处理文本、音频和视频输入,提供自然流畅的对话体验,适用于多种应用场景。
57 3
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
|
5天前
|
前端开发 API 数据库
Next 编写接口api
Next 编写接口api
|
11天前
|
XML JSON 缓存
阿里巴巴商品详情数据接口(alibaba.item_get) 丨阿里巴巴 API 实时接口指南
阿里巴巴商品详情数据接口(alibaba.item_get)允许商家通过API获取商品的详细信息,包括标题、描述、价格、销量、评价等。主要参数为商品ID(num_iid),支持多种返回数据格式,如json、xml等,便于开发者根据需求选择。使用前需注册并获得App Key与App Secret,注意遵守使用规范。
|
10天前
|
JSON API 开发者
淘宝买家秀数据接口(taobao.item_review_show)丨淘宝 API 实时接口指南
淘宝买家秀数据接口(taobao.item_review_show)可获取买家上传的图片、视频、评论等“买家秀”内容,为潜在买家提供真实参考,帮助商家优化产品和营销策略。使用前需注册开发者账号,构建请求URL并发送GET请求,解析响应数据。调用时需遵守平台规定,保护用户隐私,确保内容真实性。
|
10天前
|
搜索推荐 数据挖掘 API
淘宝天猫商品评论数据接口丨淘宝 API 实时接口指南
淘宝天猫商品评论数据接口(Taobao.item_review)提供全面的评论信息,包括文字、图片、视频评论、评分、追评等,支持实时更新和高效筛选。用户可基于此接口进行数据分析,支持情感分析、用户画像构建等,同时确保数据使用的合规性和安全性。使用步骤包括注册开发者账号、创建应用获取 API 密钥、发送 API 请求并解析返回数据。适用于电商商家、市场分析人员和消费者。
|
20天前
|
JSON API 开发工具
淘宝实时 API 接口丨淘宝商品详情接口(Taobao.item_get)
淘宝商品详情接口(Taobao.item_get)允许开发者获取商品的详细信息,包括基本信息、描述、卖家资料、图片、属性及销售情况等。开发者需注册账号、创建应用并获取API密钥,通过构建请求获取JSON格式数据,注意遵守平台规则,合理使用接口,确保数据准确性和时效性。
|
21天前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
93 5
|
21天前
|
JSON 缓存 监控
淘宝商品详情接口(Taobao.item_get)丨淘宝API接口指南
淘宝商品详情接口(Taobao.item_get)允许开发者通过HTTP GET方法获取淘宝商品的详细信息,包括商品ID、价格、库存等。请求需包含key、secret、num_iid等必选参数,支持缓存及多种返回格式。此接口广泛应用于电商数据分析、商品选品、价格监控等领域,提升商家运营效率。
|
25天前
|
JSON 搜索推荐 API
LAZADA关键词搜索API接口的获取与应用
Lazada作为东南亚领先的电商平台,为满足开发者和商户需求,开放了关键词搜索API接口。本文详细介绍该接口的获取与应用,助力提升电商业务效率。接口支持关键词搜索、指定搜索范围和排序方式,提供精准、灵活且全面的数据支持,促进电商应用和服务的优化与创新。
25 3
|
1月前
|
JSON API 数据库
电商拍立淘按图搜索API接口,数据格式示例
电商拍立淘按图搜索API接口系列为电商平台和购物应用提供了强大的图像搜索功能,以下是其文档说明的详细参考