magic-api 是一個基于Java的接口快速開發框架,編寫接口將通過magic-api提供的UI界面完成,自動映射為HTTP接口,無需定義Controller、Service、Dao、Mapper、XML、VO等Java對象即可完成常見的HTTP API接口開發。
上邊是官方對工具的介紹,但好像還是沒明白它是干什么的,接下來咱們演示一下,你就會覺得它很哇塞 了
環境
首先pom.xml 引入magic-api核心包magic-api-spring-boot-starter
org.ssssssss magic-api-spring-boot-starter 0.7.1 mysql mysql-connector-java runtime
application.yml 配置更簡單,數據庫(沒數據庫操作可以不寫)和magic-api的基礎信息
magic-api: web:/magic/web#UI請求的界面以及UI服務地址 server: port:9999 spring: datasource: driver-class-name:com.mysql.jdbc.Driver password:xinzhifu521 url:jdbc:mysql://47.93.6.5:3306/magic-api username:root
好了~ 到這環境就搭建完成!
在具體演示之前先吐槽一下用Java開發API的缺點,首當其沖的就是啰嗦,尤其是在工期緊,功能需快速迭代的時候,既要嚴格執行開發規范,又不能耽誤工期,即便最簡單的一個API接口,也要寫對應的 Controller、Service、Dao、Mapper、DTO、VO等類,盡管這些基礎編碼有對應的代碼生成器,但維護起來還是相當麻煩,magic-api起到一個很好的輔助作用,少寫了很多代碼。
實踐
直接打開magic-api可視化界面,看到如下的界面。
創建一個分組,其中分組前綴為一組API接口的訪問根目錄,相當于@Controller("/order")注解。
接著在分組中創建接口 order_detail,頁面配置接口的基礎信息,接口名稱、請求路徑、請求方法、請求參數、請求header等,接口直接return返回內容
return‘小富最帥’
在頁面訪問剛剛創建接口的全路徑,發現已經成功返回數據。
也可以直接拼JSON格式數據直接返回
如果URL傳參 /order_detail/{id},導入request模塊獲取參數
importrequest; a=path.id
到這一個簡單的API接口就開發完了,而此時我們還未在項目中寫一行代碼
但上邊只是靜態數據,在實際開發中往往要與數據庫打交道,magic-api提供了一些類似于python開發中的模塊化組件,例如引入import db 模塊,直接執行SQL語句會返回JSON格式數據,省略了很多中間步驟。
magic-api語法與Java的差異不大,不過更加精簡了一些,只要寫過Java對它學習成本并不高,比如常用得for循環,也會有普通和lambda多種寫法。
varsum=0; varlist=[1,2,3,4,5]; for(valinlist){ sum=sum+val; } list.each(it=>sum+=it+1)
這里我只簡單的介紹了使用,還有很多高級特性,比如:調用Java API、集成redis、Mongo等,感興趣的同學自己看下官方文檔吧,它還提供了很多語法demo,拿來即用就好。
心得
magic-api在我整個項目趕工期的過程中可謂是居功至偉,節省了一大半的開發時間,不僅后端開發接口效率顯著提升,對前端聯調幫助也很大。
前后端從開始就定義好數據結構,后端快速提供靜態數據接口,前端用真實接口聯調,后端補充完業務邏輯后無縫替換成真實數據,這樣做到同步開發,前端也不用只寫偽代碼等接口聯調了。
magic-api雖然可以提高開發效率,但是實際應用中我也只敢把它用在一些邏輯相對簡單,偏配置類接口,核心業務還是要按“規矩 ”辦事,畢竟系統穩定、安全才是最重要的。
審核編輯:劉清
-
編碼器
+關注
關注
45文章
3601瀏覽量
134205 -
URL
+關注
關注
0文章
139瀏覽量
15313 -
JAVA語言
+關注
關注
0文章
138瀏覽量
20079 -
XML技術
+關注
關注
0文章
15瀏覽量
6010 -
API接口
+關注
關注
1文章
82瀏覽量
10431
原文標題:萬萬沒想到,Java開發 API 接口可以不用寫 Controller了!
文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論