我們傳統的查詢接口,一般都建表->寫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。那么,各位朋友還有沒有其它實用的項目呢?