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 的问题修复版本。
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
issue 修复:带有 content-path 的工程生成的 Swagger 文档中 BaseURL少了一级路径
issue 修复:ResultStructure 取消勾选之后,在刷新又显示被勾选了
issue 修复:4.1.9版本获取header参数Bug
issue 修复:自定义序列化返回,首页未展示结果,编辑页能展示结果并下载
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
<em>FRAGMENT_SQL_DATA_SOURCE</em>
来指定数据源的时候,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