日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

今天介紹我正在用的一款高效敏捷開發(fā)工具magic-api,順便分享一點工作中使用它的心得

緣起

先說一下我為什么會使用這個工具?

最近新啟動一個項目,業(yè)務(wù)并不算復(fù)雜,那種典型的管理系統(tǒng),產(chǎn)品要求支持全局頁面配置化,前端一切相關(guān)配置必須通過接口返回,比如:像查詢下拉框(啟用、禁用)這類簡單的條件,國際化,必須做到全動態(tài)配置。

其實只要人手夠時間夠,這些都沒問題,但問題就在于立項到上線周期就給十幾天,而開發(fā)時間滿打滿算不到10來天,時間緊又不給加人,底層程序員的生活真是太難了。

不過辦法總比困難多,前同事老哥給我推薦了這個工具,然后就真香了,哈哈~

我也沒想到,Java開發(fā) API接口可以不用寫 Controller了

 

magic-api 是一個基于JAVA的接口快速開發(fā)框架,編寫接口將通過magic-api提供的UI界面完成,自動映射為HTTP接口,無需定義Controller、Service、Dao、MApper、XML、VO等Java對象即可完成常見的HTTP API接口開發(fā)。

上邊是官方對工具的介紹,但好像還是沒明白它是干什么的,接下來咱們演示一下,你就會覺得它很哇塞

環(huán)境

首先pom.xml 引入magic-api核心包magic-api-spring-boot-starter

  <dependency>
      <groupId>org.ssssssss</groupId>
      <artifactId>magic-api-spring-boot-starter</artifactId>
      <version>0.7.1</version>
  </dependency>

  <dependency>
      <groupId>MySQL</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <scope>runtime</scope>
  </dependency>

application.yml 配置更簡單,數(shù)據(jù)庫(沒數(shù)據(jù)庫操作可以不寫)和magic-api的基礎(chǔ)信息

magic-api:
  web: /magic/web # UI請求的界面以及UI服務(wù)地址
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
    

好了~ 到這環(huán)境就搭建完成!


在具體演示之前先吐槽一下用Java開發(fā)API的缺點,首當(dāng)其沖的就是啰嗦,尤其是在工期緊,功能需快速迭代的時候,既要嚴(yán)格執(zhí)行開發(fā)規(guī)范,又不能耽誤工期,即便最簡單的一個API接口,也要寫對應(yīng)的Controller、Service、Dao、Mapper、DTO、VO等類,盡管這些基礎(chǔ)編碼有對應(yīng)的代碼生成器,但維護起來還是相當(dāng)麻煩,magic-api起到一個很好的輔助作用,少寫了很多代碼。

實踐

直接訪問http://127.0.0.1:9999/magic/web打開magic-api可視化界面,看到如下的界面。

我也沒想到,Java開發(fā) API接口可以不用寫 Controller了

 

創(chuàng)建一個分組,其中分組前綴為一組API接口的訪問根目錄,相當(dāng)于@Controller("/order")注解。

我也沒想到,Java開發(fā) API接口可以不用寫 Controller了

 

接著在分組中創(chuàng)建接口 order_detail,頁面配置接口的基礎(chǔ)信息,接口名稱、請求路徑、請求方法、請求參數(shù)、請求header等,接口直接return返回內(nèi)容

return ‘小富最帥’

我也沒想到,Java開發(fā) API接口可以不用寫 Controller了

 

在頁面訪問剛剛創(chuàng)建接口的全路徑 http://127.0.0.1:9999/order/order_detail,發(fā)現(xiàn)已經(jīng)成功返回數(shù)據(jù)。

我也沒想到,Java開發(fā) API接口可以不用寫 Controller了

 

也可以直接拼JSON格式數(shù)據(jù)直接返回

我也沒想到,Java開發(fā) API接口可以不用寫 Controller了

 

如果URL傳參 /order_detail/{id},導(dǎo)入request模塊獲取參數(shù)

import request;
a = path.id

到這一個簡單的API接口就開發(fā)完了,而此時我們還未在項目中寫一行代碼

我也沒想到,Java開發(fā) API接口可以不用寫 Controller了

 

但上邊只是靜態(tài)數(shù)據(jù),在實際開發(fā)中往往要與數(shù)據(jù)庫打交道,magic-api提供了一些類似于Python開發(fā)中的模塊化組件,例如引入import db 模塊,直接執(zhí)行SQL語句會返回JSON格式數(shù)據(jù),省略了很多中間步驟。

我也沒想到,Java開發(fā) API接口可以不用寫 Controller了

 

magic-api語法與Java的差異不大,不過更加精簡了一些,只要寫過Java對它學(xué)習(xí)成本并不高,比如常用得for循環(huán),也會有普通和lambda多種寫法。

var sum = 0;
var list = [1,2,3,4,5];
for(val in list){
    sum = sum + val;
}

list.each(it => sum+= it + 1)

這里我只簡單的介紹了使用,還有很多高級特性,比如:調(diào)用Java API、集成redis、Mongo等,感興趣的同學(xué)自己看下官方文檔吧,它還提供了很多語法demo,拿來即用就好。

地址:http://140.143.210.90:9999/magic/web/index.html

心得

magic-api在我整個項目趕工期的過程中可謂是居功至偉,節(jié)省了一大半的開發(fā)時間,不僅后端開發(fā)接口效率顯著提升,對前端聯(lián)調(diào)幫助也很大。

前后端從開始就定義好數(shù)據(jù)結(jié)構(gòu),后端快速提供靜態(tài)數(shù)據(jù)接口,前端用真實接口聯(lián)調(diào),后端補充完業(yè)務(wù)邏輯后無縫替換成真實數(shù)據(jù),這樣做到同步開發(fā),前端也不用只寫偽代碼等接口聯(lián)調(diào)了。

magic-api雖然可以提高開發(fā)效率,但是實際應(yīng)用中我也只敢把它用在一些邏輯相對簡單,偏配置類接口,核心業(yè)務(wù)還是要按“規(guī)矩”辦事,畢竟系統(tǒng)穩(wěn)定、安全才是最重要的。

分享到:
標(biāo)簽:開發(fā) Java
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達(dá)人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定