在现代 Web 应用中,API(应用程序编程接口)是连接前端与后端业务逻辑的重要桥梁。传统的 API 开发方式通常需要手动编写大量代码,尤其是当需要与数据库交互时,开发效率往往较低。
一、什么是 SQLREST
SQLREST是一款完全开源的SQL2API低代码工具,帮助用户同步编写SQL或简单的Groovy脚本即可编写系统中常用的CRUD等的RESfull规范的接口,简化了后端开发人员的工作量。
项目地址:sqlrest: SQLREST是一款完全开源的SQL2API低代码工具https://gitee.com/inrgihc/sqlrest
核心优势
-
快速开发 SQLREST 自动生成基于SQL的 API 接口,开发者无需手动编写 Java/Python等重复逻辑的代码即可完成常见的增删改查操作,大大缩短了开发周期。
-
简单易用 只需配置数据库连接,按照MyBatis的语法编写SQL,简单的进行接口的常规配置,SQLREST 即可自动生成完整的 Swagger API 在线接口文档。
-
高扩展性 虽然 SQLREST 提供了默认的 CRUD 接口,但开发者可以根据需求通过Groovy脚本编写复杂逻辑的接口,满足复杂业务场景的需求。
-
多种数据库 SQLREST 支持主流数据库及绝大多数国产数据库,主流数据库如 MySQL、PostgreSQL、SQL Server 等,国产数据库如Kingbase、达梦、HighGo、OSCar、GBase等,满足不同项目的需求。
-
安全认证 SQLREST基于Bearer的token认证配置,为接口安全提供保障。
-
流量控制 基于sentinel支持接口的流量控制功能
-
完全开源 所有前后端代码完全开源,不做任何的代码混淆,代码精炼短小,方便二开。
-
微服务架构 SQLREST基于SpringCloud的微服务架构设计,易于横向扩展;
二、SQLREST部署
SQLREST后端使用JAVA语言开发,前端基于Vue开发,编译简单。
1、SQLREST编译
(1) windows下:
双击build.cmd脚本文件即可编译打包
(2) Linux下:
git clone https://gitee.com/inrgihc/sqlrest.git
cd sqlrest/
sh ./build.sh
(3) Docker下:
git clone https://gitee.com/inrgihc/sqlrest.git
cd sqlrest/
sh ./docker-maven-build.sh
2、SQLREST部署
方式一:一键部署
基于docker-compose提供linux联网环境下的一键安装,x86的CentOS系统下安装命令如下:
curl -k -sSL https://gitee.com/inrgihc/dbswitch/attach_files/1978630/download -o /tmp/sr.sh && bash /tmp/sr.sh && rm -f /tmp/sr.sh
方式二:手动部署
- 步骤1:当编译打包完成后,会在sqlrest/target/目录下生成sqlrest-relase-x.x.x.tar.gz的打包文件,将文件拷贝到已安装JRE的部署机器上解压即可。
- 步骤2:准备好一个MySQL5.7+的数据库,假设连接地址如下:
mysql的host地址 | mysql的端口号 | mysql的账号 | mysql的密码 |
---|---|---|---|
127.0.0.1 | 3306 | root | 123456 |
- 步骤3:修改sqlrest-relase-x.x.x/conf/config.ini配置文件
# manager节点的host地址,如果gateway与executor节点
# 与manager不在同一台机器时需要配置manger节点的IP地址
MANAGER_HOST=localhost
# manager的端口号
MANAGER_PORT=8090
# executor的端口号
EXECUTOR_PORT=8092
# gateway的端口号
GATEWAY_PORT=8091
# mysql的host地址
MYSQLDB_HOST=127.0.0.1
# mysql的端口号
MYSQLDB_PORT=3306
# mysql的库名
MYSQLDB_NAME=sqlrest
# mysql的账号
MYSQLDB_USERNAME=root
# mysql的密码
MYSQLDB_PASSWORD=123456
-
步骤4:如果为多主机节点部署,需要将sqlrest-relase-x.x.x分发到其他主机节点上;如果为单机(单节点)部署可直接忽略本步骤。
-
步骤5:启动服务
windows下,需按照如下顺序双击脚本启动对应的服务
启动manager服务:bin/manager_startup.cmd
启动executor服务:bin/executor_startup.cmd
启动gateway服务:bin/gateway_startup.cmd
linux下,需按照如下顺序执行脚本启动对应的服务
启动manager服务:sh bin/sqlrestctl.sh start manager
启动executor服务:sh bin/sqlrestctl.sh start executor
启动gateway服务:sh bin/sqlrestctl.sh start gateway
3、SQLREST访问
启动完成后,通过http://<MANAGER_HOST>:<MANAGER_PORT> 地址即可访问。
登陆账号:admin
登陆密码:123456
三、SQLREST应用
1、周期短人员缺的项目开发 开发人员设计好库表结构,编写SQL,即可借助SQLREST的能力完成后端接口的快速开发工作;
2、数据大屏可视化需求 为快速构建可视化大屏,将数据呈现给领导展示,即可借助SQLREST的能力只需配置上数据源,编写SQL语句,即可快速为BI产品提供后但接口;
3、构建数据服务平台 在当今大数据火热的背景下,将数据平台中的数据对外提供给其他系统访问,即可借助SQLREST的低代码能力,快速完成共享接口的构建工作,降低系统实施人员的成本。
总之,无论是数据分析师、业务人员,还是希望提升效率的开发团队,SQLREST 都能帮助他们 以最快速、最直观的方式,将数据库中的数据变成 API,从而加速业务进程,降低开发成本。