Talend Restful
目的:用Talend实现用Restful形式发布webservice
实现:该示例实现了三个功能:通过查询获取数据;通过调用存储过程获取数据;新增数据。
总体图:
各个组件的主要配置如下:
tRESTRequest_1是Job的主入口,我们这里实现了三个方法,使用不同形式传输。
另外注意的是,因为我们是打算部署到karaf container中,所以REST的Endpoint相同的不能部署在一起,会有冲突,所以我们一般建议在port后面追加模块或系统的标示一起做endpoint,这样就不用耗费很多port来部署了!
下面分三个方法来列出Sample,
getUser:使用GET的传输方法,只传输一个id,URI Pattern:"/{id}/",调用示例就是http://localhost:8088/user/1/
获取参数并映射
使用tMSSqlRow组件来实现传参查询
通过tParseRecordSet组件将结果集转换为Set集合
如果有记录,将记录打包成要输出的XML
然后通过组件返回结果!
另外,如果查询没有结果的话,加入判断,并包装返回的xml返回!
注意:在这个Job中,因为我有两个判断,虽然是从不同节点if的,但可能是由于组流程在一个main job中,所以如果只用(Integer)globalMap.get("tParseRecordSet_2_NB_LINE") == 0一个条件判断的话,在运行是,另外一个if也会执行,所以在此加上了URI的一些判断!
这样getUser基本完成!
其他两个操作基本类似,在此就不累述!不过在此对调用存储过程的稍加截图说明一下!
使用tMSSqlSp组件,Parameters,一个是输入参数,一个是输出记录集RECORD SET
在tParseRecordSet时选择输出记录集RECORD SET的users,并添加需要输出的栏位!
注意事项:
以前没留意,近期发现一个问题,就是tRESTRequest的REST Endpoint好像不能使用变量,例如不能使用context.endpointurl,而只能直接输入字符串"http://localhost:8088/user"之类的,具体为什么会这样,没具体查找原因!
但是如果用了类似变量context.endpointurl的话,在designer里面测试是没问题的,但是部署到container中后就有问题,虽然状态显示是Active,但是访问不了,可能会出现如下提示:
转载于:https://www.cnblogs.com/angusyang/p/6667600.html
Talend Restful相关推荐
- 推荐一个Talend ESB的学习资源,适合入门初学了解和学习Talend ESB开发Restful WebService的方法
采用渐进式的讲解方式,由浅入深,对刚开始接触Talend ESB,希望深入学习的朋友很有帮助,一共十节视频,5-10分钟一节,简单扼要,强烈推荐. 视频内容介绍链接地址:https://www.tou ...
- RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别
1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...
- RESTful风格及其SpringMVC实现
目录 1.RESTful概念 2.RESTful功能 3.对比:传统方式操作资源 4.SpringMVC实现传统方式操作资源 5.使用RestFul操作资源 6.SpringMVC实现RESTful操 ...
- RESTful API 最佳实践
RESTful是目前最流行的 API 设计规范,用于 Web 数据接口的设计. 它的大原则容易把握,但是细节不容易做对.本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API. ...
- Spring Boot 集成Swagger2生成RESTful API文档
Swagger2可以在写代码的同时生成对应的RESTful API文档,方便开发人员参考,另外Swagger2也提供了强大的页面测试功能来调试每个RESTful API. 使用Spring Boot可 ...
- java鉴权_一个开箱即用的高效认证鉴权框架,专注于restful api的认证鉴权动态保护...
作者:tomsun28 来源:SegmentFault 思否 写在开头 看了看这个专栏的最近一篇文章已经是两年前了,时间过得好快.应该是出学校后时间就很快了.两年前因为用shiro后,自己就按着想法开 ...
- as 不显示gradle视图_Python构建RESTful网络服务[Django篇:基于类视图的API]
系列文章介绍 本系列文章将详细介绍将Django官方引导教程中的投票项目改写为RESTful网络服务.Django官方教程地址https://docs.djangoproject.com/zh-han ...
- vue项目构建实战基础知识:SPA理解/RESTful接口介绍/static目录配置/axios封装/打包时map文件去除...
一.SPA 不是指水疗.是 single page web application 的缩写.中文翻译为 单页应用程序 或 单页Web应用,更多解释请自行搜索. 所有的前端人员都应该明白我们的页面的 u ...
- [转] 理解RESTful架构
FROM:http://www.ruanyifeng.com/blog/2011/09/restful.html 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件 ...
最新文章
- bootstrap缩小后div互相叠加_纯 JS 实现放大缩小拖拽踩坑之旅
- Matlab实用程序--图形应用-条形图形
- R语言:文本(字符串)处理与正则表达式
- java string 异或_Java源码——String
- 互联网手机躁动:“周大炮”追逐“雷布斯”
- 图论 —— 生成树 —— 最小瓶颈生成树
- 查看Ubuntu中的ip地址
- iOS开发--UIKit控件之UISearchBar(搜索栏)
- 程序员面试金典——9.8硬币表示
- 两个无线路由器dhcp服务器,两个无线路由器怎么桥接
- 学习编程比学开车要简单
- 血浆游离RNA提取试剂盒(附文献参考)
- 银行家算法的实验报告
- word中那些奇怪的数学符号字体是怎么打出来的
- [简化] [排除] [推理]
- php后台跨域token,JSON Web Token(JWT)目前最流行的跨域身份验证解决方案(PHP)类...
- 对于APIC的一些资料
- android模拟打印机服务,Android下的POS打印机调用的简单实现
- ODrive0.5.1程序分析#3 FOC算法程序
- autojs健康天天报(企业微信)——JZU