Kettle REST Client获取token调用接口解析JSON入文件实战

Kettle REST Client通过GET获取token以POST方式请求接口解析JSON入文件完整实例

需求说明

通过kettle组件调用接口并解析JSON成结构化数据入文件。

完整实例

解决方法

  1. 利用生成记录组件定义URL参数
  2. 通过REST ClENT组件请求得到TOKEN
  3. 通过JSON INPUT组件解析接口请求的结果
  4. 通过JAVASCRIPT组件拼接生成业务接口的完整参数
  5. 通过REST ClENT组件请求得到JSON结果
  6. 通过JSON INPUT组件解析业务接口请求的结果
  7. Swich/Case组件判断接口调用状态
  8. 通过文本文件输出组件保存解析后结果。

Step0:新建kettle转换

Step1:定义原始参数

拖一个生成记录组件,定义tokenurl

Step2:调用接口获得token

拖一个REST CLIENT 组件用户获取token,勾选 从从字段里获取URL,设置请求方法为GET 并定义结果字段名为result

Step3:解析JSON里的Token

拖一个JSON Input 组件,勾选 原定义在一个字段里,字段选择result。

#定义解析JSON的方法

Step4:拼接新的调用参数

拖个JAVASCRIPT组件定义新的变量拼接完成的接口url。

Step5:定义接口参数

拖一个REST CLIENT组件:

1、勾选从字段里获取URL

2、选择URL字段变量zzzfinsurl

3、选择请求类型POST,

4、设置body字段生成记录组件 里定义的zzzbody

5、设置返回字段zzzresult

6、设置HTTP状态字段zzzcode

Step6:判断接口调用状态

拖一个Switch/case 组件,对Http状态进行判断,如果请求状态码是200则执行JSON Input组件。

Step7:解析接口调用结果

拖一个JSON INPUT 组件,勾选原定义在一个字段里 ,选择源字段zzzresult

#指定JSON解析方法

Step8:入文件或者入库

拖一个文本文件输出组件,指定文件路径名、字段映射关系。

延展阅读

如果JSON解析不熟悉,可以先拷贝一个接口调用的JSON文件,在JSON INPUT组件里指定JSON文件,点击选择字段来让kettle生成解析表达式。

#1 指定本地JSON文件,主要这里要取消勾选原定义在一个字段里

#2 点击选择字段

#3 勾选要解析的字段(支持多选)

#4 注意:因为这里为了方便生成JSON解析表达式,实际调用时需要再次勾选原定义在一个字段里

Step9: 调用验证

#1 调用转换

/root/software/data-integration/pan.sh -file=/root/workbase/RESTCLIENT.ktr

#2 查看结果

相关推荐
数据智能老司机10 小时前
CockroachDB权威指南——CockroachDB SQL
数据库·分布式·架构
数据智能老司机11 小时前
CockroachDB权威指南——开始使用
数据库·分布式·架构
松果猿11 小时前
空间数据库学习(二)—— PostgreSQL数据库的备份转储和导入恢复
数据库
无名之逆11 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
s91236010111 小时前
rust 同时处理多个异步任务
java·数据库·rust
数据智能老司机11 小时前
CockroachDB权威指南——CockroachDB 架构
数据库·分布式·架构
hzulwy12 小时前
Redis常用的数据结构及其使用场景
数据库·redis
程序猿熊跃晖12 小时前
解决 MyBatis-Plus 中 `update.setProcInsId(null)` 不生效的问题
数据库·tomcat·mybatis
Three~stone13 小时前
MySQL学习集--DDL
数据库·sql·学习
Qi妙代码13 小时前
MYSQL基础
数据库·mysql·oracle