API低代码平台介绍1-功能概述

这篇具有很好参考价值的文章主要介绍了API低代码平台介绍1-功能概述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

API低代码平台之ADI平台

  ADI平台是指Application data integration,即“应用数据集成”,使用springboot开发,并通过springcloud实现微服务,是一个动态定义Http API接口的“零代码”或“低代码”平台,支持GET(查)、POST(增)、PUT(改)、DELETE(删)四种请求方式直接操作数据库数据;可动态添加多个数据源(实现原理),支持的数据库包括Oracle、Mysql、SqlServer、PostgreSQL;可以作为本方业务系统与第三方业务系统对接的桥梁,支持动态修改报文格式、字典转换、请求转发、报文加解密、签名验签、自动获取第三方的access_token、记录接口调用日志等常见的接口对接需求;接口定义完成后基于Swagger自动生成在线的接口文档,支持对接口进行在线测试。
  平台使用到的技术栈包括Redis、MongoDB、Elasticsearch等,于2018年上线,经过岁月的洗礼,对接了上千个接口,在适应场景和执行效率上不断追求极致体验(配置缓存、线程并行),成为公司业务系统与第三方业务系统对接的不二之选,受到公司研发人员的一致好评!
  利用该平台,业务系统研发周期至少缩短3个月。文章来源地址https://www.toymoban.com/news/detail-736421.html

一.ADI平台与第三方系统对接的四种基本场景

  1. 本方业务系统查询第三方系统的数据(比如查询婚姻信息),对接方式:本方业务系统把请求参数传给ADI,ADI把请求转发到第三方系统,接收到第三方系统的响应后,ADI利用内部配置的JavaScript转换为本方业务系统需要的数据格式,返回给本方业务系统;
  2. 本方业务系统推送数据给第三方系统(比如本方系统推送业务申请数据给第三方业务系统),对接方式:本方业务系统把业务编号传给ADI,ADI根据业务编号在本方数据库查询数据,利用配置的JavaScript把查询所得数据转换为第三方系统需要的数据格式后,发送给第三方系统,接收到第三方系统的响应后,返回本方系统;
  3. 第三方系统推送数据给本方系统(比如第三方系统推送受理数据给本方系统),对接方式:在ADI定义一个接口,把接口地址提供给第三方,ADI接收到第三方推送的数据后,把数据写入某些数据库表(是否需要写库可自定义),然后把第三方的数据利用配置的JavaScript转换为本方系统需要的数据格式,推送给本方系统(需要本方系统提供接口地址给ADI),接收到本方系统的响应后,把响应结果返回给第三方;
  4. 第三方系统查询本方系统的数据,对接方式:在ADI定义一个接口,把接口地址提供给第三方,根据第三方传入的查询参数,从本方数据库表查询数据,把查询结果利用平台配置的JavaScript转换为第三方需要的数据格式后,返回给第三方。
    注:如果研发人员不小心在平台配置的JavaScript有死循环的bug,是不是会导致平台最终无法正常提供服务?当然不会,平台针对JavaScript的执行具有监控功能,当监控到有死循环发生时,会立即终止当前线程,并响应死循环提示信息。

二.动态定义接口-快速将数据库表生成API能力

  1. 最基本的数据查询功能(自定义sql语句,支持联合查询);
  2. 同时查多个数据库(多数据源模式);
  3. 数据新增功能(支持多表写入);
  4. 数据修改功能(支持多表更新);
  5. 数据删除功能(支持多表删除);
  6. 值得注意的是,平台支持条件判断,比如当满足某个条件时,才操作指定的数据库或表,不操作其它数据库或表。
    api 低代码平台,API低代码平台,SpringBoot,SpringCloud,数据库,java,spring cloud,api,低代码,零代码
    api 低代码平台,API低代码平台,SpringBoot,SpringCloud,数据库,java,spring cloud,api,低代码,零代码

三.动态定义接口-快速与第三方系统对接

  1. 一对一的对接(一次请求对应一个第三方系统);
  2. 一对多的对接(一次请求分发多家系统),值得注意的是,平台支持条件判断,比如当满足某个条件时,才分发给指定的系统,不分发给其它系统;
  3. 自动获取第三方系统的access_token(自定义缓存时间);
  4. 验证ADI调用者的access_token(基于OAuth2.0客户端认证)。
    本方业务系统只需要调用ADI接口时基本上只需要传入极少的入参(往往是一个入参),ADI通过自定义sql语句查询组装为json报文(支持多层嵌套),发送给第三方系统,大大降低了业务系统研发人员的工作量。
    api 低代码平台,API低代码平台,SpringBoot,SpringCloud,数据库,java,spring cloud,api,低代码,零代码
    api 低代码平台,API低代码平台,SpringBoot,SpringCloud,数据库,java,spring cloud,api,低代码,零代码
    api 低代码平台,API低代码平台,SpringBoot,SpringCloud,数据库,java,spring cloud,api,低代码,零代码

四.报文格式转换

  1. 对请求ADI的报文进行格式转换,把报文转换为本方业务系统需要的格式;
  2. 对ADI请求第三方系统的报文进行格式转换,把报文转换为目标系统需要的格式;
  3. 对第三方响应的报文进行格式转换,把报文转换为本方业务系统需要的格式;
  4. 对ADI响应给调用者的报文进行格式转换,把报文转化为接口调用者需要的数据格式。
    格式转换涉及到“低代码”的使用,在线配置一段javascript程序即可实现,无需重启应用,而且javascript中可以调用ADI平台内置的一些java工具类哦,比如通过文件url获取文件base64字符串、15位身份证号码转18位、java中Date对象的使用等等。

五.字典值自动转换

  1. 把请求ADI报文中的字典值转换为本方业务系统的字典值;
  2. 请求第三方系统时把本方系统的字典值自动转换为第三方业务系统的字典值;
  3. 把第三方系统响应报文中的字典值转换为本方业务系统的字典值;
  4. 把ADI响应报文中的字典值转换为接口调用者需要的字典值。
    api 低代码平台,API低代码平台,SpringBoot,SpringCloud,数据库,java,spring cloud,api,低代码,零代码

六.报文加解密

  1. 对请求ADI的报文进行解密(支持RSA和SM2);
  2. 对请求第三方系统的报文进行加密(支持RSA和SM2);
  3. 对第三方系统响应的报文进行解密(支持RSA和SM2);
  4. 对ADI响应报文进行加密(支持RSA和SM2)。

七.报文签名验签

  1. 对请求ADI报文进行验签;
  2. 对请求第三方系统的报文进行签名;
  3. 对第三方系统响应的报文进行验签;
  4. 对ADI响应报文进行签名。

八.数据合法性验证

  1. 对POST、PUT请求ADI的json报文进行合法性验证(基于JsonSchema);
  2. 对第三方业务系统响应的json报文进行合法性验证(基于JsonSchema);
  3. 对GET请求ADI的参数进行合法性验证。

九.调用数据库存储过程

  1. 先把数据写入目标表,然后执行存储过程;
  2. 先执行存储过程,再执行sql查询语句;
    我们公司有些老系统使用的技术比较老(asp),不太方便开发新接口来接收其他系统的数据,只能依赖执行存储过程来处理接口数据。

十.定义异步执行策略

  1. 把策略设置为异步执行,使之满足特定场景的数据共享;
  2. 一般场景不推荐使用该策略,因为API数据共享的目的就是尽量保证数据的实时性,异步策略可能导致无法及时发现数据共享失败。

十一.定义前置执行策略

  1. 当一个接口有多个需要执行的策略时,可以把其中一个策略设置为前置执行,也就是说当且仅当这个策略执行成功时,才会执行后续策略;
  2. 使用场景:A系统要通过ADI平台发送业务申请数据给B系统,B系统要求先接收结构化数据,然后才能接收非结构化数据,此时可以定义一个接口(比如就叫申请数据发送接口),并且给这个接口定义两个执行策略(结构化数据发送策略、非结构化数据发送策略),把发送结构化数据的策略设置为前置策略即可。

十二.定义静默执行策略

  1. 当一个接口有多个需要执行的策略时,可以把其中一些策略设置为静默执行,所谓静默执行,是指该策略如果执行成功,那么不会把结果信息返回给调用者,但如果该策略执行失败,则会给调用者返回错误信息;
  2. 使用场景:A系统要通过ADI平台发送业务申请数据给B系统,B系统要求先接收结构化数据,然后才能接收非结构化数据,此时可以定义一个接口(比如就叫申请数据发送接口),并且给这个接口定义两个执行策略(结构化数据发送策略、非结构化数据发送策略),如果不设置静默策略,那么ADI会把两个策略的执行结果合并后返回给A系统,可能造成A系统难以解析ADI的响应报文,此时就可以把非结构化数据发送策略设置为静默执行。

十三.自动生成接口在线测试文档

  1. 接口配置完成后,将自动生成在线测试文档,无需PostMan等工具即可对接口进行测试;
  2. 接口文档使用Swagger生成。
    api 低代码平台,API低代码平台,SpringBoot,SpringCloud,数据库,java,spring cloud,api,低代码,零代码

十四.接口调用日志查询

  1. 每个策略的每次执行都会产生一条日志信息;
  2. 每条日志都可以抓取请求报文中的某个字段作为日志跟踪值(一般是某个业务的唯一标识字段,比如业务编号),方便后期快速查询定位日志。
  3. 日志同步写入ES(任意查、高效查)和MongoDB(减少Mysql数据库的压力)
    api 低代码平台,API低代码平台,SpringBoot,SpringCloud,数据库,java,spring cloud,api,低代码,零代码
    api 低代码平台,API低代码平台,SpringBoot,SpringCloud,数据库,java,spring cloud,api,低代码,零代码
    api 低代码平台,API低代码平台,SpringBoot,SpringCloud,数据库,java,spring cloud,api,低代码,零代码

十五.接口调用日志清理

  1. 可配置策略日志的清理模式,避免无效日志占用太多的存储空间;
  2. 指定只保留多少天以内的日志;
  3. 指定清理调用失败的日志;
  4. 指定清理测试阶段的日志;
  5. 指定清理调用成功,但是无有效响应数据的日志(比如轮询服务要查询某个系统的某个业务是否到达了某个指定进度,达到进度前的查询结果可能都是空的,那么可以指定清理这些日志)。

到了这里,关于API低代码平台介绍1-功能概述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 多语言对接电商平台api接口获取京东商品评论数据代码展示示例

    商品评论接口的意义: 确认消费者关注与产品卖点是否一致; 洞察用户对价格、促销、直播的敏感度;发现产品质量、客服、物流等方面的问题;找到品牌宣称与用户预期、实际场景之间差异化;挖掘消费者偏好的差异性,进行用户分群偏好研究;还原客户故事,分析其购

    2024年02月11日
    浏览(38)
  • 无脑利用API实现文心一言AI对话功能?(附代码)

    前言:在当今数字化的时代,人工智能(AI)技术正在不断演进,为开发者提供了丰富的工具和资源。其中, API(应用程序接口) 成为构建强大AI应用的关键组成部分之一。本文将介绍如何利用API来打造一个AI对话网站,使用户能够与智能系统进行交互。 以下内容不作太多解

    2024年02月04日
    浏览(47)
  • 大智慧L2实时api接口的逐笔委托功能执行代码分享

    用过l2行情接口的投资者应该都了解大部分的接口都是有逐笔委托功能的,那么大智慧L2实时api接口也有着很强大的逐笔委托功能,投资者可以通过这个逐笔委托功能可以看到一个股票的每天出现的全部委托指令,那么在这个逐笔委托功能里包含了委托价格、委托时间、委托量

    2024年02月09日
    浏览(66)
  • 【PyTorch API】 nn.RNN 和 nn.LSTM 介绍和代码详解

    torch.nn.RNN 的 PyTorch 链接:torch.nn.RNN(*args, **kwargs) nn.RNN 的用法和输入输出参数的介绍直接看代码: 需要特别注意的是 nn.RNN 的第二个输出 hn 表示所有掩藏层的在最后一个 time step 隐状态,听起来很难理解,看下面的红色方框内的数据就懂了。即 output[:, -1, :] = hn[-1, : , :] 这里

    2024年02月12日
    浏览(40)
  • 【小程序开发必备】微信小程序常用API全介绍,附示例代码和使用场景

    ✍创作者:全栈弄潮儿 🏡 个人主页: 全栈弄潮儿的个人主页 🏙️ 个人社区,欢迎你的加入:全栈弄潮儿的个人社区 📙 专栏地址:小程序从入门到精通 【分享几个国内免费可用的ChatGPT镜像】 【10几个类ChatGPT国内AI大模型】 【用《文心一言》1分钟写一篇博客简直yyds】

    2023年04月09日
    浏览(50)
  • 「JVS低代码开发平台2.1.8版本」-首页功能介绍

    JVS是面向软件开发团队可以快速实现应用的基础开发脚手架,主要定位于企业信息化通用底座,采用微服务分布式框架,提供丰富的基础功能,集成众多业务引擎,它灵活性强,界面化配置对开发者友好,底层容器化构建,集合持续化构建。 JVS应用采用 spring cloud + VUE + Demo应

    2024年02月16日
    浏览(54)
  • 2.1.cuda驱动API-概述

    杜老师推出的 tensorRT从零起步高性能部署 课程,之前有看过一遍,但是没有做笔记,很多东西也忘了。这次重新撸一遍,顺便记记笔记 本次课程学习精简 CUDA 教程-Driver API 概述 课程大纲可看下面的思维导图 对于 Driver API 你需要知道: CUDA Driver 是与 GPU 沟通的 驱动级别底层

    2024年02月13日
    浏览(30)
  • SpringCloud微服务环境中,使用Feign跨服务调用Api

    在微服务中,很多时候都需要调用其他小组的服务接口,这里记录一下使用Feign调用其他服务的过程。 第一步,导入依赖:  第二步,被调用服务编写接口:  第三步,调用服务端启动类上添加@EnableFeignClients  第四步,编写调用API接口,接口上添加@FeignClient注解,注解的na

    2024年02月10日
    浏览(37)
  • Logitech G HUB Lua API 概述和参考

    参考 OnEvent OnEvent()函数用作脚本的事件处理程序。您需要实施这个功能。 参数 event 包含事件标识符的字符串。 arg 与相应标识符相关的参数。 family 创建硬件事件的设备系列。如果事件不是硬件,则为空。具体的如果需要区分多个设备的输入,请使用此选项。 Family Device

    2024年02月04日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包