处理返回json_手把手系列:常用数据交换方案之RESTful接口处理

随着技术的发展与互联网的普及,除了传统的库表、文件方式之外,API接口也成为一种常用的交换方式。于是乎,越来越多的项目存在这样的接口数据处理需求,而接口形式千差万别常常需要定制开发,项目进度难以保证。有了亿信华辰EsDataExchange数据交换管理平台你就不怕了,它有一套完整的HTTP组件来处理,既支持自定义输入参数形式,如:XML、JSON等格式,也支持将返回值按格式解析后落地到目标库。

下面我们以口行外部数据管理平台为例,进行简单介绍。

一.整体流程

案例整个数据处理流程为:

1、从小微ftp服务器上获取请求接口所需要的参数文件(下载文件保存至本地)

2、参数文件为json格式,需要对其进行解析才能获取到接口需要的入参

3、使用解析完的输入参数请求接口,将接口返回数据进行解析

4、将解析结果数据入库,同时生成对应的文件上传至小微ftp服务器。

二.功能设计

整个处理流程分为以下几个步骤:

1、利用ftp下载组件从小微的ftp服务器上下载参数文件,ftp服务器相关信息可在数据源中进行配置,支持ftp和sftp两种协议。

8532b25e9b193332d7ada5c94edeb6a5.png

配置了ftp服务器信息之后,可以使用ftp下载组件下载ftp服务器上的文件,只需要选择指定的ftp服务器,设置好源文件(夹)的路径(ftp服务器)和目标文件夹(本地)即可

ce02ae34e25ecb3e271859d144905796.png

2、利用json解析组件解析分析下载的参数文件,并将数据入库(连接表输出)

a8a66d3c3c1c87b279658247d833543c.png

本组件重要的设置为父级属性名,这个设置的是否正确会直接关系到后续结果的正确性,可根据示例进行调试理解。字段列表根据json中的属性名来提取即可

3、有些接口可能需要对数据进行加密处理,需要用加解密组件来完成,本处理流程需要进行加密处理。组件设置较为简单,选择需要加密的字段,设置算法类型和秘钥,输出字段列表可以拾取前置组件的字段,将其数据完整带到后面

dac7a32181e3571bf8d8e8b3f771ea01.png

4、利用HTTP接口组件进行接口请求,接口相关信息可以在数据源中进行配置

b608f56d8c15e3a30464e09455fc9cd9.png

HTTP接口组件支持header设置,参数设置,参数设置支持使用常量,宏和字段三种方式,同时支持无参数名的参数请求方式(此方式限定输入参数只有一个无参数名的参数),输出字段列表同时可以拾取前置组件字段将其数据带到到后面

c32349b83d27ab7702833e6658ac494e.png

5、接口返回的参数也是进行加密的,需要进行解密处理,解密同加密处理,使用加解密组件,方式选择解密即可,输出字段设置同加密操作

6d4a9fabe3e456c780b1afa2df70aa9c.png

6、对接口返回的接口进行解析入库处理,解析使用json解析组件,入库使用表输出,处理操作同解析参数文件(区别在于解析参数文件的json来源是文件,此处 json来源为字段)。

7、将接口返回接口生成指定格式文件,利用groovy脚本组件来处理,根据生成文件格式需要编写脚本代码,生成本地文件

b29097cd692a5943e61772c36324689a.png

8、将生成的文件上传至小微ftp服务器,使用ftp上传组件,组件设置同ftp下载组件,选择指定ftp服务器,设置ftp服务器路径和本地文件路径

296232efce7aa09f9e213e26fbbadb69.png

最后的整体处理流程如下:

4d1fc6e1a7020c2e37e003715bdeacfe.png

从上述操作可以看出,对于API接口的数据接入以及加解密处理,EsDataExchange数据交换管理平台有完整且强大的解决方案。接口处理相关组件从最初的的单个HTTP接口组件逐步扩展到现在,功能越来越全面。在之后的开发过程中,还将扩展各种API接口处理组件,功能会更加强大!

除了接口组件,EsDataExchange数据交换管理平台还提供了各种各种的交换处理组件,多达60+种,容纳多种多样数据格式,提供丰富数据处理与交换任务设计,提供可视化数据交换监控,是一款统一、安全、高效的全局数据共享交换平台,欢迎前去官网体验试用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值