kettle 调用post接口 出现非法字符 ,kettle如何调用post接口并解析

 

1.kettle post接口非法字符

此post接口在postman中是可以成功调用,但是在kettle中调用就会报错,具体报错信息请看下面

kettle 调用post接口 出现非法字符 ,kettle如何调用post接口并解析_第1张图片

kettle 调用post接口 出现非法字符 ,kettle如何调用post接口并解析_第2张图片

 

排查了很久报错原因是非法字符,最后查出是时间格式的问题,此接口的入参为

jsonArgs=start_time:2018-07-24 00:00:00;end_time:2018-07-26 00:00:00;account:xfzn01

参数不是json格式,每个参数也没有用双引号引起来

时间中间有空格,kettle自动解析为两个值,将时间的中间空格除掉就ok了,可以把入参改为json格式

时间改成这个样式就ok了

 

2.kettle 调用post接口

a.首先使用JavaScript代码 组件将接口的url和参数拼接好,此处我的时间是从前面获取过来的

kettle 调用post接口 出现非法字符 ,kettle如何调用post接口并解析_第3张图片

b.在使用REST Client组件调用接口

kettle 调用post接口 出现非法字符 ,kettle如何调用post接口并解析_第4张图片

c.调用成功后解析接口的值,此接口的返回值是json格式,就使用JSON input组件解析

下图为接口返回值

kettle 调用post接口 出现非法字符 ,kettle如何调用post接口并解析_第5张图片

json解析

kettle 调用post接口 出现非法字符 ,kettle如何调用post接口并解析_第6张图片

d.接口返回值比较多,但是我只想需要 efairyproject_name 等于某一个地方或者多个地方的,

我们可以使用switch/case 组件来操作

kettle 调用post接口 出现非法字符 ,kettle如何调用post接口并解析_第7张图片

不满足条件的执行空操作,满足条件的继续解析device_fire_data_list ,最后将需要的字段数据插入数据库中

 

下面附上完成的trans

kettle 调用post接口 出现非法字符 ,kettle如何调用post接口并解析_第8张图片

 

你可能感兴趣的:(kettle)