項(xiàng)目介紹
APIJSON是鵝廠開源出來的零代碼、全功能、強(qiáng)安全的ORM庫,是一種專為 API 而生的 JSON 網(wǎng)絡(luò)傳輸協(xié)議以及基于這套協(xié)議實(shí)現(xiàn)的庫。為各種增刪改查提供了完全自動(dòng)化的萬能通用接口,零代碼實(shí)時(shí)滿足千變?nèi)f化的各種新增和變更需求。
能大幅降低開發(fā)和溝通成本,簡化開發(fā)流程,縮短開發(fā)周期。適合中小型前后端分離的項(xiàng)目,尤其是 初創(chuàng)項(xiàng)目、內(nèi)部項(xiàng)目、低代碼/零代碼、小程序、BaaS、Serverless 等。
其社區(qū)非?;钴S,生態(tài)完善,早已形成了.net,python,php,go等多語言的版本,你能遇到的問題都能在這里解決。
優(yōu)勢特點(diǎn)
對于后端
- 提供萬能通用接口,大部分 HTTP API 不用再寫
- 零代碼增刪改查、各種跨庫連表、多層嵌套子查詢等
- 自動(dòng)生成文檔,不用再編寫和維護(hù),且自動(dòng)靜態(tài)檢查
- 自動(dòng)校驗(yàn)權(quán)限、自動(dòng)管理版本、自動(dòng)防 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ù)庫
運(yùn)行Navicate,新建sys模式(如果存在則不用新建),運(yùn)行sql文件(sql文件位置:根目錄MySQLsys.sql)初始化數(shù)據(jù)表,執(zhí)行成功后刷新會(huì)看到初始化后的數(shù)據(jù)表。
3.使用IntelliJ IDEA打開項(xiàng)目
打開IntelliJ IDEA工具,F(xiàn)ile->Open ,選擇”解壓根目錄/D:MSourceAPIJSON-Demo-masterAPIJSON-Java-Server“文件夾下面的 APIJSONBoot項(xiàng)目,導(dǎo)入源碼。
IDE工具會(huì)自動(dòng)從加載所需的庫文件。
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 可以當(dāng)成 MySQL 使用,默認(rèn)端口為 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 可以當(dāng)成 MySQL 使用, 默認(rèn)密碼為空字符串 “”}return null;}
5.運(yùn)行項(xiàng)目
APIJSONDemo/APIJSONBoot: 右鍵 DemoApplication > Run DemoApplication.mainAPIJSONFinal: 右鍵 DemoAppConfig > Run DemoAppConfig.main
測試連接
在瀏覽器輸入 http://localhost:8080/get/{},如果出現(xiàn)以下代碼段說明運(yùn)行成功。
{ “code”: 200, “msg”: “success”}
語法學(xué)習(xí)請參考官方文檔: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,對 公司、團(tuán)隊(duì)、個(gè)人 等 商用、非商用 都自由免費(fèi)且非常友好,請放心使用和登記。