《開源精選》是我們分享Github、Gitee等開源社群中優質項目的欄目,包括技術、學習、實用與各種有趣的内容。本期推薦的是基于Java的接口快速開發架構,magic-api。
magic-api 是一個基于Java的接口快速開發架構,編寫接口将通過magic-api提供的UI界面完成,自動映射為HTTP接口,無需定義Controller、Service、Dao、Mapper、XML、VO等Java對象即可完成常見的HTTP API接口開發。
特性
- 支援MySQL、MariaDB、Oracle、DB2、PostgreSQL、SQLServer 等支援 jdbc 規範的資料庫
- 支援非關系型資料庫 Redis、Mongodb
- 支援叢集部署、接口自動同步
- 支援分頁查詢以及自定義分頁查詢
- 支援多資料源配置,支援線上配置資料源
- 支援 SQL 緩存,以及自定義 SQL 緩存
- 支援自定義 JSON 結果、自定義分頁結果
- 支援對接口權限配置、攔截器等功能
- 支援運作時動态修改資料源
- 支援 Swagger 接口文檔生成
- 基于 magic-script 腳本引擎,動态編譯,無需重新開機,實時釋出
- 支援 Linq 式查詢,關聯、轉換更簡單
- 支援資料庫事務、SQL 支援拼接,占位符,判斷等文法
- 支援檔案上傳、下載下傳、輸出圖檔
- 支援腳本曆史版本對比與恢複
- 支援腳本代碼自動提示、參數提示、懸浮提示、錯誤提示
- 支援導入 Spring 中的 Bean、Java 中的類
- 支援線上調試
- 支援自定義工具類、自定義子產品包、自定義類型擴充、自定義方言、自定義列名轉換等自定義操作
快速開始
maven 引入:
<!-- 以spring-boot-starter的方式引用 -->
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
修改 application.properties:
server.port=9999
#配置web頁面入口
magic-api.web=/magic/web
#配置檔案存儲位置。當以classpath開頭時,為隻讀模式
magic-api.resource.location=/data/magic-api
線上編輯:
通路 http://localhost:9999/magic/web 進行操作
三分鐘寫出查詢接口
1、建立分組
點選建立分組按鈕後,輸入分組資訊,點選建立。
2、建立接口
右鍵分組,點選建立接口。
在編輯器輸入内容後,填寫接口名稱和及其路徑。
var sql = """
select * from test_data
"""
return db.select(sql)
ctrl+s 儲存後,即可通路接口。
3、通路接口
> curl http://localhost:9999/test/test
{
"code": 1,
"message": "success",
"data": [
{
"id": 1,
"name": "magicApi"
},
{
"id": 2,
"name": "xiaoDong"
}
],
"timestamp": 1638192442535,
"executeTime": 9
}
也可以通過 web 界面執行。
項目截圖
-END-
開源協定:MIT
開源位址:https://github.com/ssssssss-team/magic-api