使用Kettle的Carte发布一个数据表读写服务 查询服务

2018-04-23  本文已影响0人  河东客

服务能力提供是大部分应用的核心功能,当前微服务大流行,实际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模板

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
上一篇下一篇

猜你喜欢

热点阅读