RestAPI整合
# FastWeb RestAPI整合
- 适用平台:WEB(桌面),APP(移动端)
# 1. 简介
FastWeb中也可以访问第三方的RestAPI进行发送或者接收。访问第三方API的功能是在模块设计阶段进行设计的。如需要了解如何创建模块以及进入模块设计界面请查阅FastWeb快速上手。
FastWeb中有一套完整的第三方API管理方案,通过这套方案可以快速测试API的可用性,将模块中的程序集中起来统一进行管理,便于快速部署。
# 2. 操作说明
# 2.1. API供应商
API供应商用于存放基础的Rest地址,可用于快速管理。
点击左侧菜单栏的云服务工具-RestAPI整合
,打开RestAPI整合
界面,界面中点击 API供应商
打开对应界面,可在表头筛选编辑框中输入相关信息进行快速筛选。
添加API供应商
如需要新增基础Rest地址信息的,点击[添加]
按钮,打开添加API供应商
的界面,在其中输入API供应商,API服务器等相关信息,输入完成后,点击[保存]
按钮。

修改API供应商
如需要修改已有的基础Rest地址信息的,选择要修改的接口项目,点击[修改]
按钮,打开修改API供应商
界面,在其中修改API供应商、API服务器等相关信息,输入完成后,点击[保存]
按钮。

删除API供应商
如果需要删除已创建的接口信息,选择要删除的接口项目,点击[删除]
按钮,在打开的界面中会提示是否要删除接口,点击[是]
则会删除已选择的接口,如果不需要删除接口,点击[否]
按钮以删除接口。
# 2.2. RestAPI整合
RestAPI整合用于输入API的详细信息(如请求路径、请求参数等)。在RestAPI整合部分需要引入供应商的相关信息。点击左侧菜单栏中的云服务工具-RestAPI整合
,打开RestAOI整合
的界面。在表头筛选框中输入内容,可对其中的内容进行筛选。
添加接口(API)
如果需要新增第三方接口信息的,点击[添加]
按钮,打开添加API的对话框,在此界面中可以输入API所需的相关信息,输入完成后点击[保存]
按钮。需要注意的是,URL部分的填写需根据API供应商是否有选择进行调整。如果API供应商有选择的话在URL处只需填写地址的路径部分的信息,否则的话就需要填写完整的URL信息。关于添加API部分的界面说明请参考FastWeb功能介绍。

修改接口(API)
如需要对接口信息进行修改,选择要修改的接口,点击[修改]
按钮进入至修改界面中,修改需要设置的信息。修改完成后点击[保存]
按钮保存。其中的Script
部分为预处理程序信息,如想详细了解这部分的内容可参考TUgRestApi。

删除接口(API)
如果要删除接口(API),选择要删除的接口(API),点击[删除]
按钮,可删除当前选择的API项目。
API测试
在填写完成API的信息后,如果有需要测试API可用性的可选择要测试的API项目,点击[API测试]
打开API测试页面,按照第三方API的说明在相应的栏位填写内容,填写完成后,点击[Send]
按钮,在Rest Server answer
处查看反馈的结果,可以通过Script
中填写一些预处理程序用于返回特定的值。如想详细了解这部分的内容可参考TUgRestApi。

# 2.3. 使用示例
创建API并测试连接
假设我们以Myrtille API 连接获取id (opens new window)中的API为例,首先我们要创建一个供应商,点击云服务工具-RestAPI整合
,在打开的界面中点击 [API供应商]
,在后续弹出的界面中点击[添加]
按钮,在打开的页面中添加以下内容:

点击切换至Body选项卡中,根据API说明的提示输入以下内容,将其中使用{...}
括起来的内容整体替换为实际设置时配置的信息。
{
"User":{
"Domain": "",
"UserName": "{username}",
"Password": "{password}"
},
"Host":{
"HosType": 0,
"SecurityProtocol": 0,
"IPAddress": "{client_server}"
},
"VM": null,
"AllowRemoteClipboard": false,
"AllowFileTransfer": false,
"AllowPrintDownload": true,
"AllowAudioPlayback": true,
"MaxActiveGuests": 2,
"StartProgram": null,
"GatewayURL": "http://{server}/Mytrille/"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
填写完成后点击[保存]
,然后选择刚才创建的API,点击[API测试]
打开测试页面,点击[Send]
按钮,如果返回的内容有包含如下内容显示的类似信息,则API的测试完成。

在模块中运行
以上方式可将API信息存入至API管理器中,如果需要在控件中引用这些API,可参考如下内容。
首先,按照FastWeb快速上手的方式创建一个模块,然后在其中置入一个TUgRestApi
。双击在设计区的此控件打开上图所示的对话框。选择刚才创建的选项,点击[OK]
按钮,将API的信息导入至控件中。
设置发送请求相关的触发事件,在事件中加入以下内容。
//JScript
UgRestApi01.Init(UgRestApi.Guid);
UgRestApi01.Send;
2
3
//PasScript
UgRestApi01.Init(UgRestApi.Guid);
UgRestApi01.Send;
2
3
// Make sure to add code blocks to your code group
同时设置其ResultData
事件,在结果中解析获取到的token信息并处理,此部分的内容可参考FastWeb开发手册之综合应用1。
//JScript
function UgRestApi01ResultData(sender,aresult)
//登录
{
myrtilleAuthToken = StringReplace(aresult,"\"","");
mmLog.Lines.Add("auth_token:" + myrtilleAuthToken);
UgURLFrame.URL = "http://{{Server}}/Myrtille/?__EVENTTARGET=&cid=" + myrtilleAuthToken + "&connect=Connect%21";
}
2
3
4
5
6
7
8
//PasScript
procedure UgRestApi01ResultData(sender: tobject;aresult: string);
//登录
begin
myrtilleAuthToken := StringReplace(aresult,'"','');
mmLog.Lines.Add('auth_token:' + myrtilleAuthToken);
UgURLFrame.URL := 'http://{{Server}}/Myrtille/?__EVENTTARGET=&cid='+ myrtilleAuthToken + '&connect=Connect%21';
end;
2
3
4
5
6
7
8
// Make sure to add code blocks to your code group
# 2.4. 注意事项
- Server地址栏的末尾与Url编辑框中的开头均不需要添加
/
。
# 3. 示例
以下我们以shinobi登录的说明为例,说明在设置接口整合过程中的注意事项。如果尚未了解shinobi,请参阅shinobi说明 (opens new window),以下是shinobi登录的接口说明:
- 请求地址:
http:/?json=true
请求方式:POST
ContentType:
application/json
请求主体Body
{
"machineID": "jsiqsju2wesqw2",
"mail": "admin@isoface.cn",
"pass": "admin",
"function": "dash"
}
2
3
4
5
6
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
machineID | jsiqsju2wesqw2 | String | 是 | 可以为任何字符串 |
admin@isoface.cn | String | 是 | 登录使用的用户名 | |
pass | admin | String | 是 | 登录密码 |
function | dash | String | 是 | 登录的模式,默认为dash |
- 响应成功示例
由于响应的示例内容过长,此处不进行展示。其中包含auth_token
与group key
,在之后需要进行使用。
- 响应失败示例(登录的用户名或者密码错误)
{
"ok": false
}
2
3
# 3.1. 分析
根据对上述接口的地址分析,可以将地址拆分成基础地址与请求参数两部分。其中?
之前的为RestAPI请求的基础地址,其地址为shinobi使用的服务访问地址;?
之后的为请求参数,比如此处的请求参数为json=true
。
点击[系统工具]
-[接口整合(Server)]
,打开接口整合
界面,输入API供应商以及API服务器的地址,填写相关说明,点击[保存]
。

点击[系统工具]
-[接口整合(API)]
,打开接口整合(API)
界面,在其中设置shinobi的RestAPI请求信息。
点击[添加]
按钮,打开添加API
界面,在其中输入API的信息。
API名称与API描述部分可自行设置。

API供应商
处选择刚才创建的API供应商。
上文的API说明中已指出使用的Content-Type
以及请求方法
,此处按照说明中提供的内容选择。
URL
处设置额外的路径信息,上文的API中未包含,此处可留空。
Params
处填写请求的URL中?
后的参数部分,填写json
。
Body
处填写请求的主体内容。

保存后,点击[保存]
按钮,返回管理页面。
找到刚才创建的API,点击[API测试]
,打开API管理器界面,在当前界面下,点击[send]
按钮,观察Rest Server answer
处显示的内容,如果显示的内容为下图样式的,则设置完成。
