精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Java開發API接口可以不用寫Controller了!

jf_ro2CN3Fa ? 來源:程序員小富 ? 2023-08-10 10:51 ? 次閱讀

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可視化界面,看到如下的界面。

cda7a1b6-371f-11ee-9e74-dac502259ad0.png

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

cdc054a4-371f-11ee-9e74-dac502259ad0.png

接著在分組中創建接口 order_detail,頁面配置接口的基礎信息,接口名稱、請求路徑、請求方法、請求參數、請求header等,接口直接return返回內容

return‘小富最帥’
cdd09882-371f-11ee-9e74-dac502259ad0.png

在頁面訪問剛剛創建接口的全路徑,發現已經成功返回數據。

cdf70288-371f-11ee-9e74-dac502259ad0.png

也可以直接拼JSON格式數據直接返回

ce17dbca-371f-11ee-9e74-dac502259ad0.png

如果URL傳參 /order_detail/{id},導入request模塊獲取參數

importrequest;
a=path.id

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

ce3a66ae-371f-11ee-9e74-dac502259ad0.png

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

ce634952-371f-11ee-9e74-dac502259ad0.png

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
    URL
    +關注

    關注

    0

    文章

    139

    瀏覽量

    15313
  • JAVA語言
    +關注

    關注

    0

    文章

    138

    瀏覽量

    20079
  • XML技術
    +關注

    關注

    0

    文章

    15

    瀏覽量

    6010
  • API接口
    +關注

    關注

    1

    文章

    82

    瀏覽量

    10431

原文標題:萬萬沒想到,Java開發 API 接口可以不用寫 Controller了!

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    java學習方法

    ;,DOC文檔就是答案. 對某些知識點有疑惑是,代碼測試一下,會給你留下深刻的印象. 而有的問題,你可能需要直接看API的源代碼驗證你的想法. 萬不得已才去請教別人.作為一個開發人員,懂得使用搜索引擎來尋找
    發表于 09-27 14:51

    HarmonyOS應用開發-API參考

    API 是指以二進制方式,函式庫 (DLL) 直接開放的應用程式開發接口 (Application Programming Interface),可以直接由 C/C++ 來呼叫存取使
    發表于 09-22 15:14

    基于JAVA的ICQ系統的源代碼

    基于JAVA的ICQ系統 服務器與客戶間通過套接口Socket(TCP)連接。在java中使用套接口相當簡單,Java
    發表于 03-10 13:39 ?13次下載

    高手總結java常用API(免費下載)

    高手總結java常用API(免費下載)。
    發表于 11-06 11:27 ?0次下載

    接口、內部類和Java API基礎

    理解接口的作用,理解接口和實現接口的類的關系,掌握聲明接口、一個類實現多個接口的聲明和使用方法。理解內嵌類型的概念,掌握聲明內部類的方法。熟
    發表于 11-23 11:52 ?0次下載

    使用Java API技巧分析

    本文介紹一些關于Java API安全和性能方面的簡單易用的技巧,其中包括保證API Key安全和開發Web Service方面中在框架方面
    發表于 09-27 14:09 ?3次下載

    如何一個會講笑話的Python程序

    笑話從哪里來?自己肯定是不現實的。在這個“云”的時代,各種云都有,自然是不缺開放API的。下面一個用Python的例子,其實不止python語言,同樣提供
    的頭像 發表于 01-11 16:47 ?3049次閱讀
    如何<b class='flag-5'>寫</b>一個會講笑話的Python程序

    java可以用作那些領域?

    1、學習Java可以做網站 Java可以用來編寫網站,現在很多大型網站都用Jsp的,JSP全名J
    的頭像 發表于 02-15 14:07 ?2773次閱讀

    學習java開發可以做什么工作

    在現實生活中,大多數人選擇java開發這個行業都是看好java的發展前景,那么java學好了之后可以做些什么呢?有哪些工作方向?下面為大家總
    的頭像 發表于 02-17 13:41 ?4075次閱讀

    基于Java接口快速開發框架

    映射為HTTP接口,無需定義Controller、Service、Dao、Mapper、XML、VO等Java對象即可完成常見的HTTP API接口
    的頭像 發表于 09-10 09:36 ?3698次閱讀

    Controller層代碼就該這么

    邏輯 說到 Controller,相信大家都不陌生,它可以很方便地對外提供數據接口。它的定位,我認為是「不可或缺的配角」。 說它不可或缺是因為無論是傳統的三層架構還是現在的 COLA 架構
    的頭像 發表于 11-21 10:28 ?867次閱讀

    Mybatis Plus或者其他框架及FluentMybatis提供哪些便利呢?

    使用fluent mybatis可以不用具體的xml文件,通過java api可以構造出比較復
    的頭像 發表于 02-03 15:16 ?761次閱讀

    api接口怎么使用

    本文就從API接口的維度,淺析API的概念以及為什么要了解它 一、API的概念 API,官方定義為應用程序編程
    的頭像 發表于 05-24 14:44 ?1399次閱讀

    基于Java接口快速開發框架——magic-api

    magic-api 是一個基于Java接口快速開發框架,編寫接口將通過magic-api提供的
    發表于 07-19 11:42 ?884次閱讀
    基于<b class='flag-5'>Java</b>的<b class='flag-5'>接口</b>快速<b class='flag-5'>開發</b>框架——magic-<b class='flag-5'>api</b>

    Java集合API的改進介紹

    解答這些問題。 我們將逐步學習 Java 集合類的優化過程,并按版本逐一對比分析。主要討論的焦點將包括 JDK 1.0、1.2、1.4、1.5、1.6、1.8、9、10、11 和 21 版本的 Java 集合功能 Java 集合
    的頭像 發表于 11-22 11:12 ?112次閱讀
    <b class='flag-5'>Java</b>集合<b class='flag-5'>API</b>的改進介紹