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虽然可以提高开发效率,但是实际应用中我也只敢把它用在一些逻辑相对简单,偏配置类接口,核心业务还是要按“规矩 ”办事,毕竟系统稳定、安全才是最重要的。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    41

    文章

    3360

    浏览量

    131537
  • URL
    URL
    +关注

    关注

    0

    文章

    134

    浏览量

    14828
  • JAVA语言
    +关注

    关注

    0

    文章

    138

    浏览量

    19943
  • XML技术
    +关注

    关注

    0

    文章

    15

    浏览量

    5990
  • API接口
    +关注

    关注

    1

    文章

    79

    浏览量

    10314

原文标题:万万没想到,Java开发 API 接口可以不用写 Controller了!

文章出处:【微信号:芋道源码,微信公众号:芋道源码】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    java学习方法

    ;,DOC文档就是答案. 对某些知识点有疑惑是,代码测试一下,会给你留下深刻的印象. 而有的问题,你可能需要直接看API的源代码验证你的想法. 万不得已才去请教别人.作为一个开发人员,懂得使用搜索引擎来寻找
    发表于 09-27 14:51

    英创主板JAVA应用开发简介

    ,即可通过英创提供的java类,访问硬件接口。为了让用户能够快速熟悉英创主板上的Java程序开发,英创提供完整的
    发表于 10-20 13:13

    请问生产线是用CCS来烧芯片,不用程序,也不用编译的功能,是不是用免费版的CCS就可以

    如果我自己编程我是需要购买正版CCS编译器的,但是我想问的是我产品设计好了以后,芯片的烧是放在生产线上烧的,请问生产线是用CCS来烧芯片,不用
    发表于 11-01 16:18

    HarmonyOS应用开发-API参考

    API 是指以二进制方式,函式库 (DLL) 直接开放的应用程式开发接口 (Application Programming Interface),可以直接由 C/C++ 来呼叫存取使
    发表于 09-22 15:14

    OpenHarmony 应用开发SDK、API 与基础工具

    进行应用升级和适配。 C API 鸿蒙生态应用的主要开发语言是 ArkTS,同时也提供使用 Native 语言开发 ArkTS 模块的扩展方式,鸿蒙系统中支持这种开发方式的 C 语言
    发表于 09-19 15:45

    高手总结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次下载

    Java技术的基本概述及在嵌入式系统中的应用开发

    出来的。于1995年5月正式推出。Java计算平台包括JVM(Java虚拟机)和Java APIJava应用编程
    的头像 发表于 03-10 08:10 2480次阅读
    <b class='flag-5'>Java</b>技术的基本概述及在嵌入式系统中的应用<b class='flag-5'>开发</b>

    关于Java开发(含Web)的环境搭建的详细资料说明

    Java平台由Java虚拟机(Java Virtual Machine,简称JVM)和Java 应用编程接口(Application Pro
    发表于 02-28 16:08 3次下载
    关于<b class='flag-5'>Java</b><b class='flag-5'>开发</b>(含Web)的环境搭建的详细资料说明

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

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

    基于Java接口快速开发框架

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

    api接口怎么使用

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

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

    magic-api 是一个基于Java接口快速开发框架,编写接口将通过magic-api提供的
    发表于 07-19 11:42 441次阅读
    基于<b class='flag-5'>Java</b>的<b class='flag-5'>接口</b>快速<b class='flag-5'>开发</b>框架——magic-<b class='flag-5'>api</b>

    怎么使用Java8的Stream API比较两个List的差异呢?

    可以使用Java8的Stream API来比较两个List的差异,并取出不同的对象。
    的头像 发表于 08-12 11:15 1584次阅读