項目介紹
APIJSON是鵝廠開源出來的零代碼、全功能、強安全的ORM庫,是一種專為 API 而生的 JSON 網(wǎng)絡傳輸協(xié)議以及基于這套協(xié)議實現(xiàn)的庫。為各種增刪改查提供了完全自動化的萬能通用接口,零代碼實時滿足千變?nèi)f化的各種新增和變更需求。
能大幅降低開發(fā)和溝通成本,簡化開發(fā)流程,縮短開發(fā)周期。適合中小型前后端分離的項目,尤其是 初創(chuàng)項目、內(nèi)部項目、低代碼/零代碼、小程序、BaaS、Serverless 等。
其社區(qū)非?;钴S,生態(tài)完善,早已形成了.net,python,php,go等多語言的版本,你能遇到的問題都能在這里解決。
優(yōu)勢特點
對于后端
- 提供萬能通用接口,大部分 HTTP API 不用再寫
- 零代碼增刪改查、各種跨庫連表、多層嵌套子查詢等
- 自動生成文檔,不用再編寫和維護,且自動靜態(tài)檢查
- 自動校驗權(quán)限、自動管理版本、自動防 SQL 注入
- 開放 HTTP API 無需劃分版本,始終保持兼容
對于前端
- 不用再向后端催接口、求文檔
- 數(shù)據(jù)和結(jié)構(gòu)完全定制,要啥有啥
- 看請求知結(jié)果,所求即所得
- 可一次獲取任何數(shù)據(jù)、任何結(jié)構(gòu)
- 能去除多余數(shù)據(jù),節(jié)省流量提高速度
部署使用
數(shù)據(jù)庫:MySql5.7;
數(shù)據(jù)庫管理工具:Navicat;
開發(fā)IDE:IntelliJ IDEA
1.下載后端源碼
git clone https://github.com/APIJSON/APIJSON-Demo.git
2.初始化數(shù)據(jù)庫
運行Navicate,新建sys模式(如果存在則不用新建),運行sql文件(sql文件位置:根目錄MySQLsys.sql)初始化數(shù)據(jù)表,執(zhí)行成功后刷新會看到初始化后的數(shù)據(jù)表。
3.使用IntelliJ IDEA打開項目
打開IntelliJ IDEA工具,F(xiàn)ile->Open ,選擇”解壓根目錄/D:MSourceAPIJSON-Demo-masterAPIJSON-Java-Server“文件夾下面的 APIJSONBoot項目,導入源碼。
IDE工具會自動從加載所需的庫文件。
4.配置文件
打開 DemoSQLConfig類,編輯 getDBUri,getDBAccount,getDBPassword,getSchema 的返回值為你自己數(shù)據(jù)庫的配置。
DemoSQLConfig.java
@JSONField(serialize = false) // 不在日志打印 賬號/密碼 等敏感信息,用了 UnitAuto 則一定要加@Overridepublic String getDBUri() {if (isMySQL()) {return “jdbc:mysql://localhost:3306?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8”; //TODO 改成你自己的,TiDB 可以當成 MySQL 使用,默認端口為 4000}return null;}@JSONField(serialize = false) // 不在日志打印 賬號/密碼 等敏感信息,用了 UnitAuto 則一定要加@Overridepublic String getDBAccount() {if (isMySQL()) {return “root”; //TODO 改成你自己的}return null;}@JSONField(serialize = false) // 不在日志打印 賬號/密碼 等敏感信息,用了 UnitAuto 則一定要加@Overridepublic String getDBPassword() {if (isMySQL()) {return “123456”; //TODO 改成你自己的,TiDB 可以當成 MySQL 使用, 默認密碼為空字符串 “”}return null;}
5.運行項目
APIJSONDemo/APIJSONBoot: 右鍵 DemoApplication > Run DemoApplication.mainAPIJSONFinal: 右鍵 DemoAppConfig > Run DemoAppConfig.main
測試連接
在瀏覽器輸入 http://localhost:8080/get/{},如果出現(xiàn)以下代碼段說明運行成功。
{ “code”: 200, “msg”: “success”}
語法學習請參考官方文檔:https://github.com/Tencent/APIJSON/blob/master/%E8%AF%A6%E7%BB%86%E7%9A%84%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3.md
開源許可
使用 Apache License 2.0,對 公司、團隊、個人 等 商用、非商用 都自由免費且非常友好,請放心使用和登記。