SQLREST:一款免费开源的低代码工具将SQL秒变API,帮助开发者快速构建RESTful接口
在Web开发的世界里,我们似乎总在重复着相似的剧本:设计好数据库表结构,然后便是无穷无尽的Controller、Service、Mapper三层架构代码编写。哪怕只是一个简单的增删改查接口,也得按部就班地走一遍流程。这种“体力活”不仅消耗着开发者的热情,也拖慢了项目的迭代速度。
有没有一种可能,让我们从这些重复劳动中解放出来,更专注于核心业务逻辑的设计?
今天,就给大家介绍一款来自Dromara开源组织的宝藏项目——SQLREST。它是一款免费开源的低代码工具,核心理念就是“SQL秒变API”,旨在帮助开发者快速构建RESTful接口,将我们从繁琐的CRUD编码中解放出来。
1 系统简介 SQLREST,顾名思义,它的核心能力就是将SQL操作直接转化为RESTful API。你不再需要为每个数据表编写大量的样板代码,只需在SQLREST的界面上配置好数据源,编写你的SQL语句(甚至支持MyBatis的动态SQL语法),简单设置一下接口路径和参数,一个功能完备、符合RESTful规范的API接口就诞生了。 它就像一个强大的“API工厂”,输入是你的SQL,输出就是可以直接被前端或其他服务调用的HTTP接口。对于需要快速交付的中小型项目、数据中台的数据共享场景,或是需要将数据库能力快速暴露给外部的需求,SQLREST无疑是一把利器。 定义接口 修改接口 接口测试 接口文档 接口详情 MCP服务







2 系统特点
SQLREST之所以能吸引众多开发者的目光,主要得益于以下几个鲜明的特点:
极致提效,告别重复编码:这是SQLREST最核心的价值。它将API开发从“编码”模式切换到了“配置”模式,极大地缩短了开发周期,让开发者能将更多精力投入到复杂业务逻辑的Groovy脚本编写或系统架构设计上。
广泛的数据库兼容性:它绝非“偏科生”,而是支持了超过20种主流及国产数据库,包括MySQL、PostgreSQL、Oracle、SQL Server等,同时也无缝对接达梦、金仓、OceanBase、TDengine等国产化数据库,满足了不同企业和项目的多样化需求。
强大的扩展能力:虽然主打“低代码”,但SQLREST并未牺牲灵活性。它不仅支持MyBatis的动态SQL,让你轻松构建复杂的查询条件,还支持Groovy脚本。这意味着,当遇到SQL无法解决的复杂业务逻辑时,你可以用Groovy来“兜底”,实现任何你想要的功能。
企业级特性加持:它并非一个简单的玩具项目,而是内置了诸多企业级应用所需的关键特性。例如,它提供基于Token的身份认证来保护API安全;支持Redis和Hazelcast缓存以提升接口性能;集成了Sentinel进行流量控制,防止系统被突发流量压垮;还能自动生成Swagger在线文档,方便接口调试和团队协作。
3 系统架构 SQLREST采用了基于Spring Cloud的微服务架构,这保证了其良好的可扩展性和稳定性。整个系统主要由三个核心组件构成: Manager(管理节点):作为系统的“大脑”,它负责提供Web管理界面,处理所有的配置操作,如数据源管理、SQL配置、接口管理等,并将配置信息持久化。 Executor(执行节点):作为系统的“肌肉”,它负责接收API调用请求,解析并执行Manager下发的SQL或Groovy脚本,然后将结果返回。Executor可以水平扩展,以应对高并发场景。 Gateway(网关节点):作为系统的“门户”,它统一接收所有外部的API请求,进行路由转发、身份认证、流量控制等前置处理,然后再将请求分发给后端的Executor。 这种解耦的设计使得SQLREST可以灵活部署,无论是单机快速体验,还是分布式集群部署以支撑高可用、高并发的生产环境,都能轻松应对。 4 功能列表
└── sqlrest ├── sqlrest-common // sqlrest通用定义模块 ├── sqlrest-mcp // sqlrest的MCP协议模块 ├── sqlrest-template // sqlrest的SQL内容模板模块 ├── sqlrest-cache // sqlrest执行器缓存模块 ├── sqlrest-persistence // sqlrest的数据库持久化模块 ├── sqlrest-core // sqlrest接口核心实现模块 ├── sqlrest-gateway // Gateway网关节点 ├── sqlrest-executor // Executor执行节点 ├── sqlrest-manager // Manager管理节点 ├── sqlrest-manager-ui // WEB交互页面 ├── sqlrest-dist // 项目打包模块
SQL直接构建API:通过可视化界面配置SQL,快速生成RESTful接口。
多数据源支持:兼容20+种数据库,包括主流开源库和多款国产数据库。
MyBatis语法支持:可直接使用MyBatis的动态SQL标签,实现灵活的查询。
Groovy脚本支持:支持使用Groovy脚本处理复杂业务逻辑,突破SQL限制。
Token身份认证:提供基于Bearer Token的认证机制,保障接口安全。
缓存配置:支持Redis和Hazelcast缓存,有效提升API响应速度。
流量控制:集成Sentinel,可对接口进行QPS、并发数等维度的流控。
Swagger在线文档:自动生成接口文档,方便调试和交付。
统一告警:支持与外部告警系统对接,及时发现和处理异常。
项目地址 Gitee: https://gitee.com/dromara/sqlrest Dromara社区: https://dromara.org/zh/ 5 快速体验 想要快速上手体验SQLREST的魅力?最简单的方式就是使用Docker Compose进行一键部署。 1、拉取项目代码: 2、进入安装目录并启动: 3、访问管理界面: 服务启动后,在浏览器中访问 http://localhost:8090。 默认用户名:admin 默认密码:123456git clone https://gitee.com/dromara/sqlrest.gitcd sqlrest/build-docker/installdocker-compose up -d
登录后,你就可以开始配置你的第一个数据源,并尝试将一条简单的SQL查询变成一个可调用的API了。整个过程流畅直观,相信很快你就能体会到“SQL秒变API”带来的开发快感。
阅读原文:原文链接