apijson magicjson rocketjson dataway

  • 2021-04-09
  • 浏览 (760)

为了减少代码的开发量,推荐使用这几个框架:apijson、magicjson、rocketjson、dataway

api-json

APIJSON是一种专为API而生的 JSON网络传输协议 以及 基于这套协议实现的ORM库。为简单的增删改查、复杂的查询、简单的事务操作提供了完全自动化的API。能大幅降低开发和沟通成本,简化开发流程,缩短开发周期。适合中小型前后端分离的项目,尤其是 BaaS、Serverless、互联网创业项目和企业自用项目。

  • 通过自动化API,前端可以定制任何数据、任何结构!
  • 大部分HTTP请求后端再也不用写接口了,更不用写文档了!
  • 前端再也不用和后端沟通接口或文档问题了!再也不会被文档各种错误坑了!
  • 后端再也不用为了兼容旧接口写新版接口和文档了!再也不会被前端随时随地没完没了地烦了!

特点功能

在线解析

  • 自动生成接口文档,清晰可读永远最新
  • 自动校验与格式化,支持高亮和收展
  • 自动生成各种语言代码,一键下载
  • 自动管理与测试接口用例,一键共享
  • 自动给请求JSON加注释,一键切换

对于前端

  • 不用再向后端催接口、求文档
  • 数据和结构完全定制,要啥有啥
  • 看请求知结果,所求即所得
  • 可一次获取任何数据、任何结构
  • 能去除重复数据,节省流量提高速度

对于后端

  • 提供通用接口,大部分API不用再写
  • 自动生成文档,不用再编写和维护
  • 自动校验权限、自动管理版本、自动防SQL注入
  • 开放API无需划分版本,始终保持兼容
  • 支持增删改查、模糊搜索、正则匹配、远程函数等

magic-api

软件简介

magic-api 是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发

特性

  • 支持MySQL、MariaDB、Oracle、DB2、PostgreSQL、SQLServer 等多支持jdbc规范的数据库
  • 支持非关系型数据库Redis、Mongodb
  • 支持分页查询以及自定义分页查询
  • 支持多数据源配置,支持运行时动态添加数据源
  • 支持SQL缓存,以及自定义SQL缓存
  • 支持SQL拦截、自定义分页方言、自定义列名转换
  • 支持自定义JSON结果、自定义分页结果
  • 支持对接口权限配置、拦截器等功能
  • 支持运行时动态修改数据源
  • 支持Swagger接口文档生成
  • 基于magic-script脚本引擎,动态编译,无需重启,实时发布
  • 支持Linq式查询,关联、转换更简单
  • 支持数据库事务、SQL支持拼接,占位符,判断等语法
  • 支持文件上传、下载、输出图片
  • 支持脚本历史版本对比与恢复
  • 支持脚本代码自动提示、错误提示、参数提示、语法错误提示
  • 支持导入Spring中的Bean、Java中的类
  • 支持在线调试脚本引擎
  • 支持自定义工具类、自定义模块包、自定义类型扩展、自定义函数等

rocket-api

软件简介

Rocket-API 是一个 API 敏捷开发框架,用于API接口功能的快速开发。不再定义 Controller、Service、Dao、Mybatis、xml、Entity、VO 等对象和方法。以 springboot starter 形式集成使用。

概述

"Rocket-API" 基于spring boot 的API敏捷开发框架,服务端50%以上的功能只需要写SQL或者 mongodb原始执行脚本就能完成开发,另外30%也在不停的完善公共组件,比如文件上传,下载,导出,预览,分页等等通过一二行代码也能完成开发,剩下的20%也能依赖于动态编译技术生成class的形式,不需要发布部署,不需要重启来实现研发团队的快速编码,提测以及回归。
实现了服务端研发效率300%-500%的提升,人力成本减少了3倍

特性

  1. 用于快速开发API接口。不再定义Controller,Service,Dao,Mybatis,xml,Entity,VO等对象和方法.
  2. 可视化界面,将入参自动封装到可执行的脚本上,支持所有关系性数据库SQL执行语句,非关系型MONGODB查询语句.欢迎扩展
  3. 完全基于springboot2.x 作为springboot项目的stater方式集成,无侵入性,新老项目都能快速集成
  4. 只需编写一行代码即可完成大部分的业务需求开发,使用难度级别(测试 or 运维)也可参与开发
  5. 在线动态编译,无需重启,即时生效,多数据源操作
  6. 版本控制,历史记录比对,回滚等功能
  7. 远程一键发布到线上环境
  8. 线上POSTMAN调试,保存POSTMAN信息或三方文档的自动生成,历史调用记录存储,回塑
  9. 代码提示,SQL提示,语法提示
  10. 用户管理控制,安全性控制,以及历史行为记录
  11. 经过多次项目验证,传统业务型开发,服务端效率能够提升3-5倍,前后端联调提升效率1倍,测试效率2倍提升

工作原理

1.将API信息,请求方式,请求PATH,处理逻辑存储于数据库中,调用springboot提供的RequestMappingHandlerMapping.registerMapping/unregisterMapping 实现动态管理RequestMapping。
2.依赖于java1.8提供的ScriptEngineManager方法,调用Groovy引擎,使代码逻辑能够实现动态编译,发布,而不用重启
3.以springboot starter形式,集成在业务项目中

dataway

软件简介

  依托 DataQL 服务聚合能力,为应用提供一个 UI 界面。并以 jar 包的方式集成到应用中。 通过 Dataway 可以直接在界面上配置和发布接口。

  这种模式的革新使得开发一个接口不必在编写任何形式的代码,只需要配置一条 DataQL 查询即可完成满足前端对接口的需求。 从而避免了从数据库到前端之间一系列的开发配置任务,例如:Mapper、DO、DAO、Service、Controller 统统不在需要。

  Dataway特意采用了 jar包集成的方式发布,这使得任意的老项目都可以无侵入的集成 Dataway。 直接改进老项目的迭代效率,大大减少企业项目研发成本。

主打场景

  主打场景并不是说 Dataway 适用范围仅限于此,而是经过多次项目实践。我们认为下面这些场景会有非常好的预期效果。 比如说 取数据 在一些报表、看板项目中即便是取数据逻辑在复杂。我们依然做到了真正的 零 开发,所有取数逻辑全部通过 DataQL + SQL 的方式满足。 对比往期项目对于后端技术人员的需求从 3~5 人的苦逼通宵加班,直接缩减为 1人配置化搞定。

  再比如,某个内部类 ERP 项目,20多个表单页面,后端部分仅有 1000 行左右的核心代码。其它数据存取逻辑全部配置化完成。

  1. 取数据
    • 如果你只想从数据库或者服务中获取某类数据,不需要: VO、BO、Convert、DO、Mapper 这类东西。
  2. 存数据
    • 如果是从页面表单递交数据到数据库或者服务,免去 BO、FormBean、DO、Mapper 这类东西。
  3. 数据聚合
    • 基于服务调用结果经过结构转换并响应给前端。
    • 将数据库和服务等多个结果进行汇聚然后返回给前端。

参考

正文到此结束