编写函数API脚本(Java Script)
本节主要介绍在APIC自定义后端中开发函数API时,对于定义脚本的编写指导。
函数API通过编写函数脚本实现将多个服务封装成一个服务。
函数API使用Javascript编写函数,Javascript的运行采用java Nashorn的运行标准,支持ECMAScript Edition 5.1规范。Javascript引擎运行于java虚拟机,可调用自定义后端提供的Java类实现具体功能。
示例一 Helloworld
定义execute函数作为入口,execute函数返回的内容将作为Function API的响应Body。
1 2 3 |
function execute(data) { return "Hello world!" } |
示例二 获取请求参数
execute函数传入的data参数中包含了请求参数。
1 2 3 4 5 6 7 8 9 10 |
function execute(data) { data = JSON.parse(data) return { "method":data["method"], "uri":data["uri"], "headers":data["headers"], "param":data["param"], "body":data["body"], } } |
示例三 设置响应参数
在execute函数中返回APIConnectResponse对象,可以指定调用函数API接口返回的HTTP状态码、返回头和body体。
1 2 3 4 |
importClass(com.roma.apic.livedata.provider.v1.APIConnectResponse); function execute(data) { return new APIConnectResponse(401, {"X-Type":"Demo"}, "unauthorized", false); } |
此时,调用Function API返回的HTTP状态码为401,响应头中包含了“X-Type: Demo”,且响应body为“unauthorized”。
示例四 调用Java函数
以下示例中,使用importClass引入了Java类,并调用其中的函数。所有提供的Java类可参见函数API脚本的类说明。
1 2 3 4 5 |
importClass(com.roma.apic.livedata.common.v1.Md5Utils); function execute(data) { var sourceCode = "Hello world!"; return Md5Utils.encode(sourceCode); } |
引用公共配置
- 登录ROMA Connect控制台,在“实例”页面单击实例上的“查看控制台”,进入实例控制台。
- 在左侧的导航栏选择“服务集成 APIC > 自定义后端”,在“配置管理”页面单击“添加配置”。
- 在添加配置弹窗中配置相关信息,完成后单击“确定”。
表1 公共引用配置 参数
配置说明
配置名称
填写配置的名称,根据规划自定义。
配置类型
选择配置的类型,可选择“模板变量”、“密码”和“证书”。
所属集成应用
选择配置所归属的集成应用。
配置值
仅当“配置类型”选择“模板变量”和“密码”时需要配置。
填写模板变量或密码的值。
确认配置值
仅当“配置类型”选择“密码”时需要配置。
填写密码的值,需与“配置值”保持一致。
证书
仅当“配置类型”选择“证书”时需要配置。
填写pem编码格式的证书内容。
私钥
仅当“配置类型”选择“证书”时需要配置。
填写pem编码格式的证书私钥。
密码
仅当“配置类型”选择“证书”时需要配置。
填写证书私钥的密码。
确认密码
仅当“配置类型”选择“证书”时需要配置。
填写证书私钥的密码,需与“密码”保持一致。
描述
填写配置的描述信息。
- 在Java Script函数脚本中引用配置。