零代码实战:如何将 PostgreSQL 数据库快速发布为 RESTful API?

15 阅读5分钟

PostgreSQL 因其强大的功能、稳定性和对 JSONB 等复杂数据类型的支持,已成为许多现代企业构建核心业务系统的首选数据库。

然而,在面对数据中台、移动端对接或第三方数据共享等场景时,后端开发人员常常陷入重复劳动的困境:为了暴露几个简单的查询接口,不得不搭建一套完整的后端框架(Spring Boot/Django/Go),编写繁琐的 Controller、Service 和 DAO 层代码。

本文将介绍如何利用 麦聪 QuickAPI 低代码平台,跳过繁重的后端开发,仅通过编写 SQL 语句,在分钟级内将 PostgreSQL 数据发布为标准的 RESTful API。

🚀 为什么选择 QuickAPI 对接 PostgreSQL?

QuickAPI 是一款企业级的数据 API 发布平台,它不仅支持 MySQL,对 PostgreSQL 的特性也有良好的支持。其核心优势在于:

  • SQL 即服务 (SQL-as-a-Service): 开发者只需关注 SQL 逻辑本身,平台自动处理参数解析、路由映射和结果封装。
  • 全栈数据库兼容: 除了 PostgreSQL,还支持 Oracle、SQL Server、ClickHouse 以及国产信创数据库(达梦、人大金仓等)。
  • 安全可控: 支持私有化部署,数据不落云;内置参数化查询机制,从根源防止 SQL 注入。
  • 企业级治理: 提供 API 文档自动生成、访问令牌(Token)管理及详细的调用审计日志。

🧰 环境准备

在开始实战之前,请确保您已准备好以下环境:

  1. QuickAPI 平台: 已下载并安装 QuickAPI(建议使用最新版本以获得最佳的 PG 驱动支持)。
  2. PostgreSQL 数据库: 一个可访问的 PostgreSQL 实例(版本 9.6+ 均可)。
  3. 测试数据: 建议准备一张包含业务数据的表,例如 t_orders(订单表)。

🔧 实现步骤

步骤 1:配置 PostgreSQL 数据源

  1. 登录 QuickAPI 管理控制台。
  2. 进入 “数据源管理” 菜单,点击 “添加数据源”
  3. 在数据库类型列表中选择 “PostgreSQL”
  4. 填写连接配置信息:
  5. 主机名 (Host): 输入 PG 服务器 IP(如 192.168.1.100 或 localhost)。
  6. 端口 (Port): 默认为 5432
  7. 数据库名 (Database): 注意,PG 需要明确指定连接的 Database 名称。
  8. Schema: 默认为 public,如有特殊需求请指定。
  9. 用户名/密码: 输入具备只读或读写权限的账号凭据。
  10. 点击 “测试连接”,提示“连接成功”后点击保存。

步骤 2:通过 SQL 生成 API

  1. 进入 “数据 API” 菜单,点击 “新建 API”
  2. 基础配置:
  3. API 名称: 例如“查询订单详情”。
  4. 请求路径: /api/pg/orders/search。
  5. 请求方法: 选择 GET(用于查询)或 POST(用于复杂查询)。
  6. 返回格式: 默认 JSON。
  7. 编写 SQL 脚本: 在 SQL 编辑区输入查询逻辑。QuickAPI 支持使用 {{param}} 语法定义动态参数。
  8. -- 示例:查询特定状态下的订单,支持按订单号模糊搜索 SELECT order_id, customer_name, total_amount, created_at, -- PG 特性演示:提取 JSONB 字段中的信息(假设 extra_info 是 JSONB 类型) extra_info->>'device' as device_type FROM t_orders WHERE status = {{orderStatus}} AND order_no LIKE concat('%', {{keyword}}, '%') ORDER BY created_at DESC LIMIT 20;
  9. 注:{{orderStatus}} 和 {{keyword}} 将自动识别为 API 的请求参数。
  10. 参数配置: 系统会自动解析 SQL 中的参数。您可以在下方的参数列表中设置参数类型(String/Integer)、是否必填以及默认值。
  11. 点击 “保存并发布”

步骤 3:调试与验证

API 发布成功后,系统会自动生成 Swagger 文档和测试地址。

  1. 点击 API 列表中的 “调试” 按钮。
  2. 输入测试参数,例如:
  3. orderStatus: PAID
  4. keyword: 202401
  5. 点击发送,查看返回结果。您将看到标准的 JSON 格式响应数据。
  6. 您也可以直接复制 URL 在 Postman 或浏览器中调用: http://localhost:8282/api/pg/orders/search?orderStatus=PAID&keyword=202401

⚙️ 最佳实践与注意事项

  1. 利用 PG 特性: QuickAPI 完整支持 PostgreSQL 的标准 SQL 语法。您可以放心使用 ::jsonb 转换、json_agg 聚合函数或 GIS 地理信息查询函数,充分释放 PG 的计算能力。
  2. 连接池管理: PostgreSQL 对连接数较为敏感。建议在 QuickAPI 的数据源高级设置中,合理配置连接池(Connection Pool)的最大/最小连接数,避免高并发下耗尽数据库连接。
  3. 权限最小化: 建议为 QuickAPI 创建一个专用的 PostgreSQL 数据库账号,并仅授予 SELECT 权限(如果是查询类 API),遵循最小权限原则。

✅ 总结

通过 QuickAPI,我们将 PostgreSQL 数据库发布为 API 的过程从“几小时”缩短到了“几分钟”。

这种 SQL2API 的模式,不仅极大地解放了后端开发资源,也让数据分析师、前端工程师具备了独立获取数据的能力。对于希望快速构建微服务、数据看板或内部工具的企业来说,这是一个兼顾效率与规范的高性价比方案。