API开发功能依赖数据源登记、API集合、API列表和应用管理这几个菜单下的功能,以下内容讲解中,将按照对API开发的顺序对产品功能模块进行依次说明,会包含以上功能的说明。

服务概览


服务概览页面,支持查看今日、近7日和近30日的API的调用情况,包括累计已发布的API数量、累计调用API的数量、累计调用API的次数、累计请求返回量数值指标以及累计调用API的成功次数,通过图表可了解在对应时间范围内的API调用的Top10、应用调用Top10、API调用次数趋势图、API返回量趋势图以及服务的调用比率等。

参数信息 说明
累计已发布API数量 累计处于已发布状态的API数量。
累计调用API数量 累计处于已发布状态的API中,被调用的API数量。
累计调用API次数 累计处于发布状态的API中,被调用的API次数。
累计调用API成功次数 累计处于发布状态的API中,被调用的API成功次数。
累计创建应用数量 累计已经创建的应用数量。
累计请求返回量 API发送请求累计返回的数据量。
API调用TOP10 发布的API中,被调用排名前10的API。
应用调用Top10 被线上API绑定的应用中,调用API排名前10的应用。
API调用失败率TOP10 发布的API中,被调用过程中失败率排名前10的API。
API调用平均耗时TOP10 发布的API中,被调用过程中平均耗时排名前10的API。
API调用次数趋势图 已发布的全部线上API,调用总次数和失败次数趋势图,可根据应用筛选查看。
API调用比率 调用API中成功和失败的比率。
API返回量趋势图 已发布的全部线上API,返回数据量的趋势图。
资源组请求趋势图 全部线上资源组,请求数量的趋势图,可根据资源组筛选查看。
数据服务错误类型分布 已发布的全部线上API,所返回的数据服务错误码分布情况,以便对API整体质量有宏观了解。

数据概览页面还提供调用API列表未调用API列表功能。可在调用API列表中查看调用API中包含每个API的最近调用时间,如果最近调用时间比较久远,可以考虑将API进行下线操作。还可以查看未调用API列表,若API创建成功,但未进行测试调用,可以考虑将API进行删除。

登记数据源


在使用数据服务之前,需要先登记数据源。单击数据源登记跳转至项目中心(新)页面完成数据源登记。配置方式可在数据源登记中进行查看。

创建API集合


在创建API之前需要先创建API集合,一个API只能属于一个API集合,比如查询天气的API集合,那么可以将根据地理位置查询天气的API、根据名胜古迹查询天气的API、根据美食查询天气的API等均放在查询天气的API集合中,便于对同一类的API进行管理。

21 数据服务.png

API集合需要填写集合名称、集合Path和描述,其中集合Path是拼接API URL地址的一部分,以标识API归属于哪个集合。在API集合列表,可以通过创建人以及API集合名称筛选定位API集合,支持查看当前API集合下包含了哪些API。

创建API


登记数据源和创建API集合成功后,就可以进行API的构建了。构建API一共包括三步:填写API基本信息、配置表和参数、测试API。

配置API基本信息

配置API信息页面:
API开发和管理 - 图2

参数信息 说明
API名称 创建的API名称。
API集合 API所属的集合。
API Path API的请求路径,也是构成API url地址的一部分。
协议 API调用的请求协议。
请求方式 API调用的请求方式,支持get和post。
返回类型 API调用的返回类型,支持json。
超时时间 API超时时间。
描述 对API的描述。
API标签 可以针对API添加业务标签,用于快速识别API。
数据结果缓存 若对响应时效有要求,可开启API数据结果缓存。
apiToken鉴权 若打开,可通过apiToken调用API,只需要在header中添加字段apiTOken、appKey和version即可,适用于报表、数据大屏等安全性要求不高的使用场景。
入参定义 对API调用中的请求参数绑定的入参参数的定义,支持普通入参和函数入参,函数入参中支持concat、substring等函数,即通过函数对请求参数进行二次处理。

入参参数的配置:

入参参数的设置,是为了在第二步中设置请求参数时进行绑定,请求参数一定要绑定入参参数中的其中一个,建议在请求参数中用到几个入参,就创建几个入参,若有冗余的参数,有可能会导致调用API失败。
API开发和管理 - 图3

参数信息 说明
参数名 入参参数的名称。
参数位置 若请求方式选择了GET,参数位置为QUERY,若请求方式选择了POST,参数位置为BODY。
参数类型 支持参数类型为整型、浮点型、字符串和布尔型,布尔型在数据服务。
是否必填 若勾选了是,在测试和调用API时必须填写调用值,若勾选了否,则须给定一个默认值,用于测试和调用时使用;在向导模式下,若未填写默认值,且在调用API时未传参,则系统将忽略该参数。
默认值 若勾选了是否必填的”否”,此处需要给定默认值。
示例值 用于API调用者查看的示例值。
描述 对于该入参参数的描述。
函数入参的表达式 若选择了函数入参,则需要书写函数入参表达式,可以通过系统提供的函数,对入参进行二次处理,比如concat(a,b)表示将入参a和b进行拼接,a和b需要是已经创建成功的入参。
注意: 若在向导模式下,默认值是非必填,并且没有填写默认值,则在API调用时将忽略该参数的调用,实现参数的动态传递。

配置表和参数

配置完API基本信息之后,需要进行表和参数的配置,如下图所示:
API开发和管理 - 图4

参数信息 说明
生成方式 选择API的生成方式,支持向导和SQL模式生成API。
数据源类型 选择数据源类型,可供选择的数据源根据数据服务的版本不同而不同。
数据源名称 选择在数据源登记模块登记的数据源名称。
数据表 选择数据源下的数据表。
添加返回和排序参数 在选择返回和排序参数下,点击”添加”,弹窗中展示表的所有字段,选择返回参数和排序参数。
添加请求参数 在添加请求参数下,点击”添加请求参数”,弹窗中选择字段,请求参数支持多层嵌套,使用and或者or连接,实现诸如”(a or b) and c”的逻辑。

特殊说明:

对于请求参数中操作符的使用说明如下:

  1. 除了in和between操作符外,都只关联一个参数的操作符,比如=,绑定方式如下:
    2021-08-27-11-17-23.png 测试方式如下:
    2021-08-27-11-17-39.png

  2. 对于in和between操作符,参数之间用逗号进行分隔,绑定方式如下:
    2021-08-27-11-17-51.png
    测试方式如下:
    2021-08-27-11-18-04.png 上图中,可以实现a between 1 and 2。同理,若在操作符中选择了in,则测试页面多个参数也使用逗号进行分隔,例如id in (1,2)。

此外,还可通过上传Jar包对返回参数的二次处理功能。
21 数据服务01.png
若对返回参数有二次处理的需求,平台支持上传Jar包达到对返回参数的二次处理,可以将对返回参数的处理逻辑在Jar中完成,然后上传Jar包,填写类名,若Jar中对返回参数进行了修改,可添加真实的返回参数。

保存和测试

数据服务提供在线功能测试,便于测试API取数逻辑配置的正确性。在测试页面,左侧是请求参数和分页信息(默认分页页号为1,分页大小为200,最多返回3000条数据,HBase类型的数据源最多返回1W条数据),点击开始测试,右侧会有API的测试详情和返回内容等信息。
API开发和管理 - 图10

点击查看错误状态码可以查看返回的错误码对应的错误原因,便于用户更好的定位失败的API的错误原因。
21 数据服务02.png

说明: 在调用API时,若在向导模式下,支持使用参数”use_total_num=1”返回API的总条数。

发布API

测试成功的API便可以进行发布上线,只有发布的API才可以绑定应用,API才可以被调用。在API列表中,找到需要发布的API单击更多选择发布,只有测试成功的API才可以进行发布。

API绑定应用

将API发布之后,点击API的名称进入详情页,单击添加授权按钮,选择需要绑定的应用进行添。
API开发和管理 - 图12

授权API应用

API调用者可以创建API应用,便于API的开发者将发布好的API绑定应用。

数据服务页面,打开应用管理功能详情页面,单击新建应用,在弹出的对话框中完成应用的创建。
API开发和管理 - 图13

在API应用模块,点击查看授权或者应用名称,可以进入应用的详情页,在关联API处,可以看到当前应用被哪些API所绑定,可以对绑定的API进行测试,也可以解除绑定。同时,在详情页还能看到生成的应用的APPKey和APPSecert,在API的调用中,所需要的APPKey和APPSecert信息可以直接在此进行复制。
API开发和管理 - 图14

当前支持应用批量绑定已发布的API,单击绑定API,在弹出的对话框中进行API批量选择。
21 数据服务04.png

调用API

数据服务支持Restful和Java SDK两种方式调用API,在SDK下载或者API集市页面的右上方,可以下载详细的使用说明文档,以供用户调用参考,调用说明文档中对这两种方式均进行了详细的说明。

如果在创建API时,开启了apiToken鉴权,将API发布成功后,在API详情页的基础信息中会有apiToken内容,在header中添加apiToken、version和appKey的内容,也可以调用该API,适用于报表、数据大屏等安全性要求不高的场景。

21 数据服务03.png

API集市

对于API的调用者而言,不需要关心API的取数逻辑,可以直接在API集市查看已经发布的API,通过详情页,查看当前API的请求和返回参数,如果属于需要的API,可点击申请API进入申请审批流程。
API开发和管理 - 图17

在申请API的弹框中,支持行级和列级权限选择,均默认关闭。如果有新建应用的权限,可直接新建应用,或绑定已有的应用,填写申请理由,默认由API的创建者进行审核,提交申请后,会弹窗提示工单进入流程协作与通知中心,可快速点击链接,进入流程协作中心查看申请工单的状态。

当工单审批成功之后,则具备调用该API的权限,通过参考调用手册,正确调用已授权的API。

注册API

若用户已有API,也可以通过注册功能,将API通过数据服务平台进行统一管理。

在API列表页面点击注册API可进行注册,注册API包含三个步骤:填写基础信息、参数配置以及功能测试。

配置基础信息

此处和新建API页面相似,需要配置API名称、API集合、API Path、返回类型、超时时间、描述、API标签、数据结果缓存和apiToken鉴权等参数。

参数配置

在参数配置中,首先选择API类型的数据源,即待注册API服务的后台地址,可以在数据源登记页面选择API类型的数据源。然后对注册的API添加请求参数,便于API调用者在详情页查看API的详情内容。对于响应示例,也可以自定义成功和失败示例,也是便于API调用者查看当前API的返回内容,便于更好的使用API。

API开发和管理 - 图18

测试

注册的API配置完成后,可以在线对注册的API进行测试。测试成功的API即可进行发布,其他操作同新建API类型。
21 数据服务05.png

导出、复制和锁定API

  • API导出
    对于已经创建的API,支持选择后进行导出下载,可下载word或者pdf版本,下载的文档中包含API的基础信息、请求参数、排序参数和返回参数等内容。
    API开发和管理 - 图20

  • API复制
    点击更多下的复制,可快速复制与当前一模一样的API,默认API名称和path后面填充时间戳,允许修改。
    API开发和管理 - 图21

  • API锁定
    对于自己是创建人的API,支持对API增加锁定,API锁定后,只有API的创建人可以对API执行锁定(数据服务平台管理员,即超管不受锁定的限制)和解锁,锁定后,只有API的创建人才可以对API进行编辑、解除应用等操作。点击更多里面的锁定,API前增加图标API开发和管理 - 图22,即锁定成功,锁定后的API也可解锁。 2021-08-27-11-24-14.png

API在线升级

对于已发布的API,支持在线升级,单击更多选择API升级。API升级只能修改影响取数逻辑的字段,比如入参、请求和数据源等内容。在API升级的第四个步骤,可对该API绑定的资源节点执行升级操作,全部节点处于升级成功,才可完成并退出,若有节点升级失败,可选择放弃并退出。

21 数据服务06.png

注意: 若原API开启了缓存,API升级版本将会延迟生效,延迟时间将取决于缓存的更新时间,且在第三步测试阶段,测试结果也会受到缓存数据的影响。

API版本历史

在API列表中,点击更多选择版本历史可以查看API的各版本信息。

有以下两种情况才会产生版本历史:

  1. 发布后的API重新下线编辑再发布,且编辑的字段为影响取数逻辑的内容,比如入参、请求参数、数据源等,此时会产生版本历史;

  2. 针对已发布状态的API,执行API升级操作,会产生新的版本历史。

其他情况,比如编辑的是非取数逻辑字段、名称等,不会产生版本历史;再未发布状态下对API的修改,也不会记录版本历史。

21 数据服务07.png

API回滚和版本历史对比

在API版本历史管理弹窗中,可以选中其中两个版本,进行版本对比,对于基本信息和参数信息,若两个版本有不一致的地方,页面会标红显示,

21 数据服务08.png

针对某个API的回滚操作,只有该API处于发布状态,才可执行回滚。API回滚成功之后,再查看版本历史时,回滚版本将作为最新版本。

21 数据服务09.png

注意: API升级和回滚版本互斥,若在API升级过程中,未完成或退出,而是直接关闭页面等方式,再进行回滚时将无法操作;同样,若在API回滚过程中,未完成或退出,执行API升级也将无法执行操作。