当前位置: 首页 >服务端 > Talend Restful

Talend Restful

目的:用Talend实现用Restful形式发布webservice

实现:该示例实现了三个功能:通过查询获取数据;通过调用存储过程获取数据;新增数据。

总体图:

Talend Restful _ JavaClub全栈架构师技术笔记

各个组件的主要配置如下:

tRESTRequest_1是Job的主入口,我们这里实现了三个方法,使用不同形式传输。

另外注意的是,因为我们是打算部署到karaf container中,所以REST的Endpoint相同的不能部署在一起,会有冲突,所以我们一般建议在port后面追加模块或系统的标示一起做endpoint,这样就不用耗费很多port来部署了!

Talend Restful _ JavaClub全栈架构师技术笔记

下面分三个方法来列出Sample,

getUser:使用GET的传输方法,只传输一个id,URI Patte:"/{id}/",调用示例就是http://localhost:8088/user/1/

获取参数并映射

Talend Restful _ JavaClub全栈架构师技术笔记

使用tMSSqlRow组件来实现传参查询 

Talend Restful _ JavaClub全栈架构师技术笔记

通过tParseRecordSet组件将结果集转换为Set集合 

Talend Restful _ JavaClub全栈架构师技术笔记

如果有记录,将记录打包成要输出的XML

Talend Restful _ JavaClub全栈架构师技术笔记

然后通过Talend Restful _ JavaClub全栈架构师技术笔记组件返回结果!

另外,如果查询没有结果的话,加入判断,并包装返回的xml返回!

Talend Restful _ JavaClub全栈架构师技术笔记

注意:在这个Job中,因为我有两个判断,虽然是从不同节点if的,但可能是由于组流程在一个main job中,所以如果只用(Integer)globalMap.get("tParseRecordSet_2_NB_LINE") == 0一个条件判断的话,在运行是,另外一个if也会执行,所以在此加上了URI的一些判断!

这样getUser基本完成!

其他两个操作基本类似,在此就不累述!不过在此对调用存储过程的稍加截图说明一下!

使用tMSSqlSp组件,Parameters,一个是输入参数,一个是输出记录集RECORD SET 

Talend Restful _ JavaClub全栈架构师技术笔记

在tParseRecordSet时选择输出记录集RECORD SET的users,并添加需要输出的栏位!

Talend Restful _ JavaClub全栈架构师技术笔记

 

注意事项:

以前没留意,近期发现一个问题,就是tRESTRequest的REST Endpoint好像不能使用变量,例如不能使用context.endpointurl,而只能直接输入字符串"http://localhost:8088/user"之类的,具体为什么会这样,没具体查找原因!

但是如果用了类似变量context.endpointurl的话,在designer里面测试是没问题的,但是部署到container中后就有问题,虽然状态显示是Active,但是访问不了,可能会出现如下提示:

Talend Restful _ JavaClub全栈架构师技术笔记

 

来源链接:https://www.cnblogs.com/angusyang/p/6667600.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/server/117295.html

标签:RESTful
分享给朋友:

“Talend Restful” 的相关文章

linux yum命令详解 2022年05月19日 19:54:29
常用日志框架介绍 2022年05月19日 20:04:06
枚举法 之Java实现凑硬币 2022年05月21日 11:37:17
集成极光推送遇到的问题 2022年05月21日 21:05:48
Hugo LoveIt主题配置与使用 2022年05月23日 21:56:27
python中对切片的理解 2022年05月23日 21:57:45
关于设计模式 2022年05月23日 23:02:13
信息系统项目干系人管理 2022年05月24日 20:43:17