用脚本开发API,快到不敢想象!

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

用脚本开发API,快到不敢想象!


您在使用API功能时,是否被以下问题困扰:


如何同时调用多个API

如何对某个API的返回值做二次处理得到想要的返回值


现在,帮你甩掉困扰的好帮手来了!


金蝶云·苍穹V5.0开放平台重磅推出 “自定义API-脚本开发”功能,该功能可以在维护API时,将多个API组合生成新的API,还可以对出入参进行逻辑处理,却只需对外提供一个API。这么方便的功能还不快快学习起来!



1 适用版本


该功能适用版本为金蝶云·苍穹V5.0.002及以上。


2 特性展示


说了这么多,大家一定好奇这个新功能具体如何使用,它到底难不难~

莫慌!下面,我们用一个例子来带领大家快速入门。


自定义API-脚本开发”功能入口:【开发服务云】→【开放平台】→【API管理】→点击“新增”按钮→选择【自定义API-脚本开发】,如下图所示:



自定义API界面


2.1 案例场景


通过脚本开发API,实现基础资料的保存、提交、审核。


2.2 操作步骤


1. 准备接口

除了第一个脚本API主入口,还需要准备基础资料保存、提交、审核的三个操作接口,如下图所示:



接口准备


2. 基础资料保存(demo__save)

此处以基础资料demo5为例,介绍保存操作接口的配置方法:通过开放平台“零代码配置”方式配置该实体的保存接口,主要维护请求体参数,将需要存储数据的字段维护好,此处用简单的基础资料编码、名称作为参数。



基础资料保存接口配置


配置完成并保存后可以直接点击“API测试”按钮测试接口是否调通,若显示“successCount = 1”, 证明有一天数据存储成功了。



保存接口测试


3. 基础资料提交(demo_submit)

同理,以相同的方式配置该基础资料的提交接口,只需在操作方式中选择“提交”,配置相应的请求体即可。



基础资料提交接口配置



提交接口测试


4. 基础资料审核(demo_audit)

接着,配置第三个操作接口:基础资料的审核操作接口,配置方法与提交操作的完全一致,只需要修改操作方式为“审核”。



基础资料审核接口配置


审核接口测试


5. 脚本开发API

最后,配置脚本服务,具体步骤如下:


1)配置基本信息

填写基本信息,注意请求方式必须为“POST”



基本信息配置


2)定义请求参数

定义API请求参数,用基础资料保存API的入参作为该API的入参。



定义API请求参数


3)维护引用资源

由于脚本编写依赖别名,需先维护引用资源,否则无法写脚本。



维护引用资源


4)编写API脚本

在页面的API脚本代码编辑器中输入对应处理接口调用的业务逻辑。


整体逻辑:首先,根据传入data保存数据,然后脚本调用提交接口,最后调用审核接口。


“保存”操作接口脚本如下:



保存脚本


“提交”操作接口脚本如下:



提交脚本


“审核”操作接口脚本如下:



审核脚本


完整脚本如下:


result = {}; // 初始化api 结果
// 保存
var saveData = {"data": data};   // 单据保存 参数
var saveResult = demo_save_api(saveData);   // 调用单据保存api
if(! saveResult?.status) { // 保存结果验证
   throw "保存失败"; // 保存失败抛出异常
}
result.saveResult = saveResult.data.result;   // 将保存结果赋值给api结果
// 获取保存单据的id
var id = saveResult.data.result[0].id;
id = L(id);
// 查询保存单据的编码
var sql = "select fnumber from t_isc_demo_basedata_5 where fid = ?";
var numberMap = DB.queryOne("iscb", sql, [id]);
if(! numberMap?.fnumber) {
   throw "查询单据编码失败"
}
var number = numberMap.fnumber;
// 提交
var submitData = {
     "data":{
         "number":number
     }
};
var submitResult = demo_submit_api(submitData);   // 调用单据提交api
if(! submitResult?.status) { // 提交结果验证
   throw "提交失败"; // 提交失败抛出异常
}
result.submitResult = submitResult.data.result;   // 将提交结果赋值给api结果
// 审核
var auditData = {
     "data":{
         "number":number
     }
};
var auditResult = demo_audit_api(auditData);   // 调用单据审核api
if(! auditResult?.status) { // 审核结果验证
   throw "审核失败"; // 审核失败抛出异常
}
result.auditResult = auditResult.data.result;   // 将审核结果赋值给api结果



测试结果如下图所示:



API测试结果


3 亮点价值


亮点一:无需编译部署,即时生效,快速发布

区别于Java开发的自定义API,脚本在API保存时就会生效,无需编译、重启环境等操作,简单快捷。


亮点二:丰富的预置脚本片段

出厂预置了许多脚本片段,比如数据的增删改查接口等,用户在开发脚本API时可以快速引用。


亮点三:支持在线脚本调试

提供脚本维护与调试,帮助用户快速得到脚本调用结果,路径为:【开放平台】→【其他】→【代码片段管理】→【脚本调试】。


亮点四:提供Json导入

维护页面出入参提供Json导入功能,在使用上可以快速将其他API的参数导入到列表,无需二次维护。


4 相关链接


更多关于“自定义API-脚本开发”新特性介绍,可参考如下链接:


自定义API(脚本开发)

https://vip.kingdee.com/article/322686880653270784

脚本调试介绍

https://vip.kingdee.com/article/322439257334257152


5 划重点


金蝶云·苍穹V5.0开放平台推出“自定义API-脚本开发”功能,无需编译部署,即时生效,轻松实现API的快速发布。在使用过程中应注意:


1. 脚本的使用很灵活,应在安全的生产环境下使用;

2. 若想要在脚本开发中使用其他API,需维护资源列表,并使用别名编写脚本

3. 灵活使用Json导入、脚本调试、API测试,快速开发的同时提高API正确性。




#往期推荐#


# OpenAPI2.0—轻松构建WebService服务

场景化接口开发利器,新版OpenAPI引擎来了!

苍穹OpenAPI新体验 之 查询接口

苍穹OpenAPI入门篇 之 API接口匿名访问


更多精彩内容,“码”上了解!↓


用脚本开发API,快到不敢想象!

您在使用API功能时,是否被以下问题困扰:如何同时调用多个API?如何对某个API的返回值做二次处理得到想要的返回值?现在,帮你甩掉困扰的...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息