可以讓你零代碼快速開發(fā)REST API的幾個開源項目(restful api開發(fā))
我們傳統(tǒng)的查詢接口,一般都建表->寫SQL->寫Mapper、新建映射類、寫Service、寫Controller,一套重復的工作下來,也需要花費不少時間。那么,在低代碼火熱的今天,有大佬開發(fā)了零代碼開發(fā)REST API的項目。這里就介紹幾個,或許能給我們帶來效率上的提升。
APIJSON
APIJSON是騰訊開發(fā)的低代碼項目,APIJSON 是一種專為 API 而生的 JSON 網(wǎng)絡傳輸協(xié)議 以及 基于這套協(xié)議實現(xiàn)的 ORM 庫。
為各種增刪改查提供了完全自動化的萬能通用接口,零代碼實時滿足千變?nèi)f化的各種新增和變更需求。
能大幅降低開發(fā)和溝通成本,簡化開發(fā)流程,縮短開發(fā)周期。
適合中小型前后端分離的項目,尤其是 初創(chuàng)項目、內(nèi)部項目、低代碼/零代碼、小程序、BaaS、Serverless 等
功能:
. 零代碼增刪改查、各種跨庫連表、JOIN 嵌套子查詢等
. 自動生成文檔,不用再編寫和維護,且自動靜態(tài)檢查
. 自動校驗權限、自動管理版本、自動防 SQL 注入
代碼地址:https://github.com/Tencent/APIJSON.git
phalapi
PhalApi是一個PHP輕量級開源接口框架,致力于快速開發(fā)接口服務。支持HTTP/SOAP/RPC等協(xié)議,可用于搭建接口/微服務/RESTful接口/Web Services。承諾永久免費,可用于商業(yè)用途。當然了,開源版本的功能并沒有那么強大的功能。
代碼地址:https://github.com/phalapi/phalapi.git
DBAPI
基于Java開源的API低代碼項目,不用寫代碼,只需要在頁面上寫SQL、配置參數(shù),SQL直接轉化成HTTP API。支持所有JDBC協(xié)議的數(shù)據(jù)庫,包括mysql、postgresql、oracle、sqlserver、hive、clickhouse、kylin等等,支持API動態(tài)創(chuàng)建、編輯、下線、刪除,API動態(tài)發(fā)布,支持創(chuàng)建多客戶端,并對客戶端授權訪問API,可監(jiān)控客戶端對API的調(diào)用記錄,統(tǒng)計API調(diào)用信息。
功能:
. 開箱即用,不需要編程,單機模式不需要依賴其他軟件(只需要java運行環(huán)境)
. 支持單機模式、集群模式;支持云原生容器化部署
. 支持動態(tài)創(chuàng)建、修改API;動態(tài)創(chuàng)建、修改數(shù)據(jù)源。熱部署全程無感。
. 支持API級別的訪問權限控制,支持IP白名單、黑名單控制
. 支持所有類型數(shù)據(jù)庫(JDBC協(xié)議),包括mysql/sqlserver/postgreSql/hive/oracle等等
. 支持動態(tài)sql,類似mybatis的動態(tài)sql,支持sql編輯、運行、調(diào)試
. 豐富的插件擴展,支持緩存、數(shù)據(jù)轉換、失敗告警
. 支持API配置導入導出,方便測試環(huán)境到生產(chǎn)環(huán)境的API遷移
. 支持一個接口內(nèi)多條SQL執(zhí)行(例如分頁功能),支持事務開啟關閉
. 支持application/json和application/x-www-form-urlencoded
. 支持接口調(diào)用記錄查詢,接口訪問信息統(tǒng)計
代碼地址:https://github.com/freakchick/DBApi.git
PostgREST
PostgREST是用haskell開發(fā)的開源項目,以 postgres 數(shù)據(jù)庫為基礎, PostgREST是一個獨立的 Web 服務器,可將把PostgreSQL數(shù)據(jù)庫直接轉換為RESTful API
代碼地址:https://github.com/PostgREST/postgrest.git
dozer
dozer是基于Rust語言開發(fā)而且開源的API低代碼項目。通過yaml配置的方式,立即生成REST和gRPC API。
代碼地址:https://github.com/getdozer/dozer.git
除了上面這些項目,還有一些其他比較流行的Headless CMS 的項目,如:基于Node.js開發(fā)的Directus和Hasura,支持給不同的數(shù)據(jù)庫提供REST和GraphSQL接口,具有復雜的授權機制和用于數(shù)據(jù)庫管理的UI。那么,各位朋友還有沒有其它實用的項目呢?