电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

扩展插件,一招让你的操作API更灵活!

来源:金蝶云社区作者:金蝶2024-09-232

扩展插件,一招让你的操作API更灵活!

嘿,你是否曾在使用OpenAPI时遇到以下情况?

1. 需要对查询、提交、审核等操作的API请求参数进行特定业务场景的过滤。

2. 希望在接口保存过程中,自动执行入参的预处理,以提高数据的质量和可靠性。

如果你也很有共鸣,那这篇文章最适合你不过了!


本文将介绍如何通过API插件扩展实现业务场景的定制化,以及请求参数的精细过滤。让你的API工作得更智能,更匹配你的业务需求。


准备好了吗?让我们开始吧!




适用版本


苍穹V5.0.018及以上


功能速览


进行系统集成时,通过OpenAPI零代码配置的操作API,过滤条件不满足实际业务需求,可通过编写插件自定义过滤条件。以查询操作API为例:


上传图片

图 1 查询操作API配置


步骤一:编写插件代码

不同操作插件类需要实现不同的接口,如下表:


表 1 插件可实现接口


在插件中实现查询的接口,并重写getFilter方法,其中方法参数filter为原接口的过滤条件, reqData为原接口的请求入参。处理逻辑是返回一个新的过滤条件,即覆盖原过滤条件。

import kd.bos.openapi.api.plugin.ApiQueryPlugin;
public class DemoApiQueryPlugin implements ApiQueryPlugin {
  @Override
  public QFilter getFilter(QFilter filter, Map<String, Object> reqData) {
    return new QFilter("billstatus", QCP.equals, "B")
        .and(new QFilter("creator.name", QCP.equals, "fjp"));
  }
}


步骤二:注册并启用插件

在配置页面找到扩展插件注册并启用插件。


上传图片

图 2 注册并启用插件


步骤三:测试API

点击“API测试”按钮,可以看到,由于插件逻辑是覆盖原过滤条件,返回参数会根据新的过滤条件进行查询。


上传图片

图 3 测试接口


对于保存操作API,因为保存并无过滤条件,所以重写的方法中,只有一个原入参,可对这个入参进行预处理,具体方法如下。注意方法返回的值,数据结构必需与原入参的保持一致。


public interface ApiSavePlugin extends ApiPlugin {
  /**
   

扩展插件,一招让你的操作API更灵活!

嘿,你是否曾在使用OpenAPI时遇到以下情况?1. 需要对查询、提交、审核等操作的API请求参数进行特定业务场景的过滤。2. 希望在接口保存过...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信