服务能力提供是大部分应用的核心功能,当前微服务大流行,实际Kettle也可以作为服务引擎来提供服务,示例结合Kettle 的Carte,把 Transformation 转换 发布成一个Web服务,以单表查询来做一个原型功能,稍稍扩展就能创建更多功能
最终效果涉表结构
用户信息表:
CREATE TABLE `t_user` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`account` varchar(50) NOT NULL COMMENT '用户账号',
`pwd` varchar(50) NOT NULL COMMENT '登录密码',
`nickname` varchar(100) NOT NULL COMMENT '用户昵称',
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='用户信息表';
表内数据
数据
查询参数
允许使用用户名、密码查询
查询参数
SQL拼装
使用了变量+入参的双检测
SQL拼装
SQL执行
注意 执行SQL模板
配置结果返回
配置Servlet返回模拟请求
使用PostMan模拟请求(Carte有默认安全访问,用户名、密码为 cluster 在 ${Kettle_HOME}/pwd/kettle.pwd中可配置 )密码未作加密处理,生产环境注意添加加密方法
服务可用了,试试添加查询参数
服务监控
Carte提供对运行服务的监控 通过 http://127.0.0.1:8080/kettle/status/ 查看
中文处理
在Windows环境下,返回值会因编码而导致乱码,需要在Kettle的全局配置中添加编码设置,位置 ${USER_HOME}/.kettle/kettle.properties
KETTLE_DEFAULT_SERVLET_ENCODING = UTF-8
网友评论