介绍

针对某一API协议与第三方系统间的适配,如:适配捷顺与蓝卡的开闸接口

前置条件

分析要对接的子系统后,进行接口协议模型抽象定义,把请求头、请求参数、返回结果、错误码逐一声明到API套件及每个协议,并把API套件上架。

操作示例

1. 点击适配按钮

我们可以看到协议适配界面中,主要有参数预览、在线调试等功能。

参数预览,主要是查看前面在配置/编辑协议时填写的信息。

2. 请求脚本

请求脚本目前仅支持Groovy动态语言,通过Java内置包实现的ScriptEngine接口来实现适配器代码的执行调用。

注意:每次编写的新的脚本,请务必先保存后再进行调试。

3. 在线调试

在线调试功能会根据协议请求头,请求参数等值执行你所编写的脚本。如果你编写的脚本中存在返回值,执行成功后,会有响应信息显示。

X-Sign签名的生成规则: md5(请求参数[即body] + X-Config-Id + timestamp + SecretKey)

  • 请求头说明:

    • X-Client-Id
      说明:平台根据clientId来验证api套件是否具有协议服务权限。
      组成:对应clientId字段。

    • X-Timestamp
      说明:平台根据时间戳来验证数据是否被篡改。
      组成:当前时间戳。

    • X-Config-Id
      说明:平台会根据configId来获取动态配置的请求参数。
      组成:对应configId字段。(租户适配器参数配置的主键id)

    • X-Sign
      说明:平台使用签名来校验客户端请求的完整性以及合法性。
      组成规则:
      md5(参数+适配器配置ID+时间缀+Secure)
      md5(参数+configId+timestap+Secure)

    • X-Callback
      说明:异步的回调地址

  • 以下是在线调试过程中需要注意的事项:

    • 每次点击调试按钮都会生成新的SecureKey,并且根据时间戳重新生成签名。
    • 单次调试的时间不能超过2分钟,2分钟后请求会过期,这时候请刷新时间戳,重新生成签名(在真实场景中,单次调用同样需要刷新时间戳,重新生成签名)
    • 单次调试的SecureKey使用时间不能超过2个小时。

4. 请求脚本获取适配器参数

通过param字段获取

5. 请求脚本获取请求参数

通过data字段获取

6. 请求脚本获取请求头

通过header字段获取

7. 请求脚本获取缓存对象

在请求脚本中想要通过缓存存储数据,可以使用cache对象。

cache对象可以使用的方法:

  • set(key, value, timeoutSeconds) timeoutSeconds数据类型为int类型,时间单位为秒。

  • get(key)

文档更新时间: 2023-07-30 11:02   作者:伍润源