我们传统的查询接口,一般都建表->写SQL->写Mapper、新建映射类、写Service、写Controller,一套重复的工作下来,也需要花费不少时间。那么,在低代码火热的今天,有大佬开发了零代码开发REST API的项目。这里就介绍几个,或许能给我们带来效率上的提升。
APIJSON
APIJSON是腾讯开发的低代码项目,APIJSON 是一种专为 API 而生的 JSON 网络传输协议 以及 基于这套协议实现的 ORM 库。
为各种增删改查提供了完全自动化的万能通用接口,零代码实时满足千变万化的各种新增和变更需求。
能大幅降低开发和沟通成本,简化开发流程,缩短开发周期。
适合中小型前后端分离的项目,尤其是 初创项目、内部项目、低代码/零代码、小程序、BaaS、Serverless 等
功能:
. 零代码增删改查、各种跨库连表、JOIN 嵌套子查询等
. 自动生成文档,不用再编写和维护,且自动静态检查
. 自动校验权限、自动管理版本、自动防 SQL 注入
代码地址:https://github.com/Tencent/APIJSON.git
phalapi
PhalApi是一个PHP轻量级开源接口框架,致力于快速开发接口服务。支持HTTP/SOAP/RPC等协议,可用于搭建接口/微服务/RESTful接口/Web Services。承诺永久免费,可用于商业用途。当然了,开源版本的功能并没有那么强大的功能。
代码地址:https://github.com/phalapi/phalapi.git
DBAPI
基于Java开源的API低代码项目,不用写代码,只需要在页面上写SQL、配置参数,SQL直接转化成HTTP API。支持所有JDBC协议的数据库,包括mysql、postgresql、oracle、sqlserver、hive、clickhouse、kylin等等,支持API动态创建、编辑、下线、删除,API动态发布,支持创建多客户端,并对客户端授权访问API,可监控客户端对API的调用记录,统计API调用信息。
功能:
. 开箱即用,不需要编程,单机模式不需要依赖其他软件(只需要java运行环境)
. 支持单机模式、集群模式;支持云原生容器化部署
. 支持动态创建、修改API;动态创建、修改数据源。热部署全程无感。
. 支持API级别的访问权限控制,支持IP白名单、黑名单控制
. 支持所有类型数据库(JDBC协议),包括
mysql/sqlserver/postgreSql/hive/oracle等等
. 支持动态sql,类似mybatis的动态sql,支持sql编辑、运行、调试
. 丰富的插件扩展,支持缓存、数据转换、失败告警
. 支持API配置导入导出,方便测试环境到生产环境的API迁移
. 支持一个接口内多条SQL执行(例如分页功能),支持事务开启关闭
. 支持application/json和
application/x-www-form-urlencoded
. 支持接口调用记录查询,接口访问信息统计
代码地址:https://github.com/freakchick/DBApi.git
PostgREST
PostgREST是用haskell开发的开源项目,以 postgres 数据库为基础, PostgREST是一个独立的 Web 服务器,可将把PostgreSQL数据库直接转换为RESTful API
代码地址:https://github.com/PostgREST/postgrest.git
dozer
dozer是基于Rust语言开发而且开源的API低代码项目。通过yaml配置的方式,立即生成REST和gRPC API。
代码地址:https://github.com/getdozer/dozer.git
除了上面这些项目,还有一些其他比较流行的Headless CMS 的项目,如:基于Node.js开发的Directus和Hasura,支持给不同的数据库提供REST和GraphSQL接口,具有复杂的授权机制和用于数据库管理的UI。那么,各位朋友还有没有其它实用的项目呢?