Hasor 4.1.10 发布,满满干货:动态数据源、报错定位到行列、权限控制
Dataway介绍
Dataway 是基于 DataQL 服务聚合能力,为应用提供的一个接口配置工具。使得使用者无需开发任何代码就配置一个满足需求的接口。 整个接口配置、测试、冒烟、发布。一站式都通过 Dataway 提供的 UI 界面完成。UI 会以 Jar 包方式提供并集成到应用中并和应用共享同一个 http 端口,应用无需单独为 Dataway 开辟新的管理端口。
这种内嵌集成方式模式的优点是,可以使得大部分老项目都可以在无侵入的情况下直接应用 Dataway。进而改进老项目的迭代效率,大大减少企业项目研发成本。
Dataway 工具化的提供 DataQL 配置能力。这种研发模式的变革使得,相当多的需求开发场景只需要配置即可完成交付。 从而避免了从数据存取到前端接口之间的一系列开发任务,例如:Mapper、BO、VO、DO、DAO、Service、Controller 统统不在需要。
版本说明:
4.1.9 作为实验版本先行2周左右发布,4.1.10 则主要是 4.1.9 的问题修复版本。
Hasor v4.1.10 (2020-07-6)
新增
-
issue 增加 LookupDataSourceListener 扩展接口,允许每次执行 DataQL 的 SQL 片段时都动态的查找 DataSource 以实现动态数据源。
-
issue CollectionUdfSource 函数库需要一个 size 函数
-
collect 函数库新增 size、newMap、groupBy 三个函数。
优化
-
函数库调整:已有 hex 函数库合入 convert 函数库;已有 compare 函数库合入 string 函数库;已有 hmac 函数库合入 codec 函数库;
-
多个 Notify SPI 下,必须要有仲裁。
-
AppContext 接口的 joinSignal 方法废弃。增加一个 waitSignal 方法(可以利用对象锁的形式进行等待)
-
issue 优化 DomainHelper 增加对 UUID 类型的默认支持,将其转换为 String
修复
Hasor v4.1.9 (2020-06-29)
新增
-
issue Api列表时显式其http method
-
issue Dataway string 库函数新增 split 方法。
-
issue UI 的操作提供权限控制扩展能力
-
新版本检查提示功能,例如:官方在发布新版本的时。Interface-UI 会检测是否有新版本并弹窗提示给使用者,使用者可以选择永久忽略这次版本提示。
-
SPI 增加可以判断 hasSpi、hasJudge 方法用来判断 SPI 是否有被注册。
-
issue 异常信息增加了行号。
-
issue 新增一个开源,Parameters中结构化的参数可以包装为一个整体。
-
hasor-web 项目新增 HttpParameters 工具类。可以静态方法形式获取各类请求参数。
优化
-
所有编辑器统一使用 MonacoEditor,去掉 Codemirror 依赖。
-
ApiInfo 类型中增加 CallSource 枚举,用来表示请求的来源。isPerform 方法成为过期方法。
-
ValueModel 的isByte、isShort、isInt、isLong 等等方法。逻辑调整为是否可以转换为该类型。
-
去掉了 DataQL 的环境隔离能力。
-
FxWebInterceptor 对于 header、cookie 的获取通过 HttpParameters 类来获取。
-
issue 整合Swagger 之后 Header 无法通过 Swagger 传入。
修复
-
issue 修复Dataway 生成的 Swagger api文档,在容器中用 swagger 访问失败。
-
issue 修复 字符串加法计算特定场景下抛异常。
-
issue 修复 @@mybatis 多线程并发问题 MybatisFragment
-
issue 跨域下 4.1.7、4.1.8 前端请求第一次是options时会报错。
报错定位:
举个例子,在 4.1.9 版本之前如果遇到报错。例如 target is null. 通常是不知道问题出现在具体什么地方的,在 4.1.9 版本之后。报错可以直接定位到具体的行列。例如下面这个 case abc 函数并不存在。报错会指明 问题发生在 第2行 第7个字符到第12个字符之间。
显示出接口的请求方法:
动态数据源能力:
基于新的 SPI LookupDataSourceListener,应用可以自己管理一个 DataSource 池和DataSource 状态。当通过 Hint
FRAGMENT_SQL_DATA_SOURCE
来指定数据源的时候,DataQL 会通过 LookupDataSourceListener 来进行查找。这样应用就可以完全自主管理数据源。
权限控制能力:
AuthorizationChainSpi,无论是界面权限还是 接口被调用的权限都可以一收眼底。
// 配置所有接口,都是只读权限 final Set<String> codeSet = AuthorizationType.Group_ReadOnly.toCodeSet(); apiBinder.bindSpiListener(AuthorizationChainSpi.class, (checkType, apiInfo, defaultCheck) -> { return checkType.testAuthorization(codeSet); });
相关文章
《绝了!Dataway让Spring Boot不再需要Controller、Service、DAO、Mapper》https://my.oschina.net/ta8210/blog/3234639
《Dataway 配置数据接口时和前端进行参数对接》 https://my.oschina.net/ta8210/blog/3236659
《通过 Dataway 配置一个带有分页查询的接口》https://my.oschina.net/ta8210/blog/3277320
《Dataway 4.1.5 以上版本升级指南》https://my.oschina.net/ta8210/blog/4275154
《完美兼容老项目!Dataway 4.1.6 返回结构的全面控制》https://my.oschina.net/ta8210/blog/4275216
《无需代码!通过 Dataway 配置一个带有分页查询的接口》https://my.oschina.net/ta8210/blog/3277320
《Dataway 整合 Swagger2,让 API 管理更顺畅》https://my.oschina.net/ta8210/blog/4293622
官方连接
- Dataway 官方手册:https://www.hasor.net/web/dataway/about.html
- Dataway 在 OSC 上的项目地址,欢迎收藏:https://www.oschina.net/p/dataway
- DataQL 手册地址:https://www.hasor.net/web/dataql/what_is_dataql.html
- Hasor 项目的首页:https://www.hasor.net/web/index.html
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
木兰编程语言重现——范围语法“下限..上限 by 间隔”,重构
在支持 Python 的 range 之外,木兰还支持如下的等价语法。个人感觉这样的语法更直观易读一些: 闭区间 for 数 in 0..2 { println(数) } 输出: 0 1 2 左闭右开区间: for 数 in 0..<2 { println(数) } 输出: 0 1 对应的带间隔取数: 这是本周重现的语法。 for 数 in 4..-1 by -2 { println(数) } 输出: 4 2 0 左闭右开区间: for 数 in 0..<4 by 2 { println(数) } 输出: 0 2 代码统计 下面是几个主要部分的代码行数统计,格式为:上周->本周。 测试 木兰测试用例:900 -> 1068 运行测试.py,检验所有木兰测试代码片段:143 -> 144 未变 test语法树.py,确保生成的语法树与原始版本一致:63 实现:1720 -> 1898 分析器/语法分析器.py:676 -> 792 分析器/词法分析器.py:123 -> 1...
- 下一篇
网络文件传输系统 kiftd 1.0.35 正式发布
kiftd简介: kiftd是一款专门面向个人、团队和小型组织的私有网盘系统。开源、便捷、小巧。无论是在笔记本上、家庭、学校还是办公室,均可以随时随地使用它。它不但是替代U盘进行文件传输的不二之选,同时也是一款具备视频/音乐在线播放、文档预览、图片查看、文件夹访问控制、拖拽上传、移动端访问等多种功能的个人云存储应用。它无任何的使用限制(无论是非商业的还是商业的),即开即用,即使是刚刚学会点击鼠标的小白也能够在3分钟内快速开始。 想要了解更多内容?欢迎访问项目官网:https://kohgylw.gitee.io/index.html 常规更新v1.0.35 *本次更新为维护性的更新,修复一些已经发现的问题并优化使用体验,推荐所有用户升级。 修复了当用户执行批量上传操作时,中途切换所在的文件夹可能会导致上传路径发生改变的问题。 在旧的版本中,如果用户在上传大批量的文件时关闭上传窗口并切换目录,可能会导致系统无法正确获取上传文件的目标路径从而导致文件被上传到错误的位置,现在,这个问题已经被修复了。 示例如下: 1,先在根目录下上传两个文件 2,之后关闭当前的上传窗口,并在上传进行时进入其他...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装