后端开源的Low-Code api 接口生成汇总

后端开源的Low-Code api 接口生成汇总

范畴: 因为后端的业务复杂多样,所以不能像寻找全端Low-Code解决方案的思路去寻找Low-Code 解决方案,而不管业务逻辑如何去变化,其中的sql语句其实我们可以进行提炼和加工,所以说,查找方向是在sql生成api的方向上

  • DBAPI

DBAPI 是面向开发者的低代码工具,只需在页面上编写 sql 并配置参数即可自动生成 http API。可以帮助程序员快速开发后端数据服务,特别适合BI报表后端服务开发

开发语言使用了java 进行开发的

DBAPI是整个企业数据服务的管理中心,是企业提供外部数据服务的平台。提供数据API动态创建和发布功能,API统一管理,客户端管理能力。它可以监视客户端对 API 服务的请求记录,并控制客户端对 API 的权限。

特征

  • 没有代码,不依赖其他软件(独立模式)
  • 支持单机模式、集群模式。支持云原生容器部署
  • 动态创建和修改 API 或数据源,部署对用户完全不敏感。
  • 支持API级访问权限控制,支持IP白名单、黑名单控制。
  • 支持所有jdbc数据库,包括mysql/sqlserver/postgreSql/hive/oracle等。
  • 支持动态 SQL,如 mybatis。支持页面SQL执行和调试。
  • 支持丰富的插件,如数据转换插件,缓存插件,报警插件。
  • 支持API配置导入导出,方便API从测试环境迁移到生产环境
  • 支持在一个 API 内执行多个 SQL(如分页功能),并支持事务处理。
  • 支持和application/jsonapplication/x-www-form-urlencoded
  • 支持API访问记录查询,对API访问信息进行统计。

相关截图:

iamge1
image2
iamge3
iamge4
image5
iamge6
image7
iamge8
image9
image10

视频教程: 视频教程

体验地址: 地址链接

作者的Email: email

默认帐户:admin/admin [ps:官方标注过,请不要修改账号密码]

git 地址: git地址

官方地址:官方地址

  • DataWorks

DataWorks 作为一站式智能云研发平台,构建了从数据集成、数据开发、据服务到应用开发的一个全链路解决方案。

整体架构如下:

image11

整体运行原理如下:
image12

因为上述两款产品有诸多相似之处,故不去做具体的描述,唯一不同的是这款产品是阿里系的产品之一,但是相对于第一种来说,个人更倾向于第一种(免费,开源[象征着可以做扩展]),详细使用内容请点击此处进行查看

  • AI Code

一个基于freemarker为核心的代码生成框架,本项目目前支持sql进行反向生成java的代码,代码生成的程度取决于用的模板,目前整合的模板中 有如下:

  • swagger lombok
  • spring-cloud (全家桶)
  • angular
  • springboot
  • rocketmq kafka rabbitmq dubbo
  • mysql tidb postgresql cockroachdb redis jetcache ignite
  • es

目前只需要准备好你的sql脚本在此项目页上进行创建即可,然后aicode 会自动帮你把数据库创建出来用于反向生成代码使用, 自动从你的模板仓库中下载框架,当然也可以是用我们已经开发好的,代码会从dao->service->ctrl->frontend 一条龙生成,接口自动根据规则对接完 毕,也就是说你可以生成后直接运行你的项目代码,另外项目代码将会根据你的需要配置上git svn 地址后自动提交到对应的仓库中省去手工拷贝的麻烦,只 需要在开发工具中 git clone git://xxxxx.git即可,如果模板比较优秀可以节省代码50%左右无需再开发,比如包含了:增,删,查,改,分页,条 件查询,关联查询,关联分页查询等等,你需要关心的只是你的逻辑关系是否设置完整,模型关系是否设置完整用于生成时系统进行自动化,我们提供了web-ui管理界面,只需要登录账户即可 完成对代码的生成管理,你可以通过页面来完成模型关系的设置,以及对显示属性的设置,快速完成从数据库层到页面的定制化开发。

特点:

  • 像Jenkins 打包一样的方式来生成自己的代码,ai-code 与其他开源的完整项目不同点在于技术整合框架的抽象
  • mvc的模型抽象,我们有这样的场景,有新的业务需求,用同样的技术框架,通常做法可能就是找一个项目然后删删改改提取 出来一个较为干净的框架,然后把新的业务模型,实体类,接口等等重新声明,创建在此基础上再做很多CRUD的编码,有时候我们很反感重复这些,但是又不得不做
  • 一个工具出来让新的业务模型设计好后拿到sql脚本 通过工具可以选择各种不同的技术框架组合,就像spring boot一样整合技术在一起,但是又 可以自动把mybatis mapper,dao/dto,service,ctrl,ui等等通用功能自动开发好呢?把常用的工具,加密算法等等通用的自动集成进去呢?比如swagger,gradle,maven等等

目前支持一下模板引擎:

1.freemarker

2.beetl

相关截屏如下:

已有项目的效果
image1

添加自己的模板仓库
image2

相关技术点如下:

  • spring mvc
  • mybatis H2
  • freemarker
  • websocket
  • java reflection
  • angular framework
  • git,svn client
  • jwt
  • gradle

相关子项目地址:

前端参考地址:url

设计文档地址:url

模板仓库地址url

docker教程url

官方地址:git地址

体验地址:体验地址

账号密码:admin 888888

  • Rocket-API

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

特征:

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

工作原理

1.将API信息,请求方式,请求PATH,处理逻辑存储于数据库中,调用springboot提供的RequestMappingHandlerMapping.registerMapping/unregisterMapping 实现动态管理RequestMapping。

2.依赖于java1.8提供的ScriptEngineManager方法,调用Groovy引擎,赋于数据处理能力以及使代码逻辑能够实现动态编译,发布,而不用重启
3.以springboot starter形式,集成在业务项目中’

相关截屏:
image1
image2

在线演示:url

代码仓库:url

  • magic-api

与 上述产品很相似,两者对比而言,但是后者的使用公司更多,其他暂无发现特殊差别

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

特征:

  • 支持MySQL、MariaDB、Oracle、DB2、PostgreSQL、SQLServer等支持jdbc规范的数据库
  • 支持非关系型数据库Redis、Mongodb、ElasticSearch
  • 支持动态配置定时任务
  • 支持集群部署、接口自动同步
  • 支持分页查询以及自定义分页查询
  • 支持多数据源配置,支持在线配置数据源
  • 支持SQL缓存,以及自定义SQL缓存
  • 支持自定义JSON结果、自定义分页结果
  • 支持对接口权限配置、拦截器等功能
  • 支持运行时动态修改数据源
  • 支持Swagger接口文档生成
  • 支持可插拔式的插件机制
  • 支持i18n国际化
  • 支持团队协作,可显示在线人数、以及他人正在编辑和浏览的接口等功能
  • 基于magic-script (opens new window)脚本引擎,动态编译,无需重启,实时发布
  • 支持Linq式查询,关联、转换更简单
  • 支持数据库事务、SQL支持拼接,占位符,判断等语法
  • 支持文件上传、下载、输出图片
  • 支持脚本历史版本对比与恢复
  • 支持脚本代码自动提示、参数提示、悬浮提示、错误提示
  • 支持导入Spring中的Bean、Java中的类
  • 支持在线调试
  • 支持自定义工具类、自定义模块包、自定义类型扩展、自定义方言、自定义列名转换等自定义操作

官方地址:官方地址

相关系列的产品如下,不做一一描述

统一数据接口平台 来源于rocket-api,可以实现在页面上动态管理多数据源配置,实现数据源的热加载,切换。无需重启 可以用于作统一的数据接口平台

但是相较于Rocket-APImagic-api而言,更加的冷门

GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时。 GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余,也让 API 更容易地随着时间推移而演进,还能用于构建强大的开发者工具。

使用公司也有很多,如gitHub等,它是一种数据库,但是构建api而言较为简单

参考文档:

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值