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

    文章

    3640

    浏览量

    134444
  • URL
    URL
    +关注

    关注

    0

    文章

    139

    浏览量

    15329
  • JAVA语言
    +关注

    关注

    0

    文章

    138

    浏览量

    20090
  • XML技术
    +关注

    关注

    0

    文章

    15

    浏览量

    6011
  • API接口
    +关注

    关注

    1

    文章

    84

    浏览量

    10437

原文标题:万万没想到,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 3064次阅读
    如何<b class='flag-5'>写</b>一个会讲笑话的Python程序

    java可以用作那些领域?

    1、学习Java可以做网站 Java可以用来编写网站,现在很多大型网站都用Jsp的,JSP全名J
    的头像 发表于 02-15 14:07 2792次阅读

    学习java开发可以做什么工作

    在现实生活中,大多数人选择java开发这个行业都是看好java的发展前景,那么java学好了之后可以做些什么呢?有哪些工作方向?下面为大家总
    的头像 发表于 02-17 13:41 4095次阅读

    基于Java接口快速开发框架

    映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口
    的头像 发表于 09-10 09:36 3719次阅读

    Controller层代码就该这么

    逻辑 说到 Controller,相信大家都不陌生,它可以很方便地对外提供数据接口。它的定位,我认为是「不可或缺的配角」。 说它不可或缺是因为无论是传统的三层架构还是现在的 COLA 架构
    的头像 发表于 11-21 10:28 883次阅读

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

    使用fluent mybatis可以不用具体的xml文件,通过java api可以构造出比较复
    的头像 发表于 02-03 15:16 779次阅读

    api接口怎么使用

    本文就从API接口的维度,浅析API的概念以及为什么要了解它 一、API的概念 API,官方定义为应用程序编程
    的头像 发表于 05-24 14:44 1423次阅读

    基于Java接口快速开发框架——magic-api

    magic-api 是一个基于Java接口快速开发框架,编写接口将通过magic-api提供的
    发表于 07-19 11:42 906次阅读
    基于<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 182次阅读
    <b class='flag-5'>Java</b>集合<b class='flag-5'>API</b>的改进介绍