【实用工具】magic-api接口快速开发框架

【实用工具】magic-api接口快速开发框架

magic-api是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口。 无需定义ControllerServiceDaoMapperXMLVO等Java对象即可完成常见的HTTP API接口开发。

自学能力较强的朋友传送门:https://www.ssssssss.org/magic-api/

友情提示:如果不是急需使用的,请从第二节开始阅读

1、安装使用magic-api

springboot项目中引入依赖

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

同时还需要其它依赖(一般项目中都会使用到)

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.27</version>
</dependency>

在application.yml中配置(主要看magic-api部分即可,其它的是spring配置)

server:port: 9999
magic-api:#配置web页面入口web: /magic/webresource:#配置文件存储位置。当以classpath开头时,为只读模式#mac用户请改为可读写的目录#如果不想存到文件中,可以参考配置将接口信息存到数据库、Redis中(或自定义)location: D:/data/magic-apispring:datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/magic-api-test?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8username: rootpassword: test

然后就可以通过web访问地址:http://localhost:9999/magic/web即可看到magic-api配置界面。

这个web访问地址对应application.yml配置文件中的magic-api.web配置路径

web界面中操作如下图

magic-api操作界面

2、magic-api应用场景

为让大家体会到magic-api的用途,这里列举一些应用场景,以备不时之需。

模拟api接口

magic-api的返回json功能,可以模拟一个api接口,用于调试或者防止终端测试。

场景:开发过程中系统对接了一些第三方平台,但是这些第三方平台不在互联网,而是在一些内网(比如公安网、视频专网、政务网等等),开发、测试环境肯定没法访问到这些平台的服务接口,那么此时可以使用magic-api模拟接口,防止调用不到接口而导致的中断性测试。

示例:

内网接口 /getUserInfo

magic-api创建同名接口 /getUserInfo返回内容如下

import response;
return response.json({msg:'请求成功',code:200,obj:{id:1,name:'张三'}
});

大屏看板快速开发

开发可视化大屏数据呈现报表,各单位领导当下数一数二的装逼方式,大家应该都遇到过这样的需求。面对echart报表所需的大量接口,是否需要开发实体类、dao、service、controller呢?

使用magic-api就完全不用写这些三层结构代码(即便你们框架是自动生成代码),因为magic-api可以直接创建接口查询数据库sql

如下代码

var id = 123;
return db.select("""select * from sys_user where id = #{id}
""");

这样就可以直接返回数据库查询结果,API接口直达数据库,无需三层结构代码。

Tips:不仅仅是支持sql查询,insert、update、分页操作都是支持,并且有事务管理、并且还支持mybatis语法,相当强大。而且magic-api中是支持逻辑判断、循环遍历等操作的。自带一套语法结构(逻辑判断、运算符等等)。

magic-api语法相关传送门:https://www.ssssssss.org/magic-api/pages/base/script/#关键字

接口相关的事情都可以做

  • 返回固定json、字符串
  • 数据库CRUD
  • 获取http接口请求参数、处理返回参数
  • 接口参数校验
  • 调用java代码
  • 接口鉴权、拦截器
  • 拦截器
  • 默认支持mysql,插件支持redis、mongo、elasticsearch等。

3、示例Demo

返回json

import response;
//直接返回该json,不会被包装处理
return response.json({success : true,message : '执行成功'
});

db分页

import response;
//返回: 共计10条,第一页的5条数据
return response.page(10,[1,2,3,4,5]);

db查询

return db.select('select * from sys_user');

db插入

return db.insert("insert into sys_user(username,password) values('admin','admin)");

db更新

return db.update('delete from sys_user'); 

返回文本

import response;
//直接返回该text,不会被包装处理
return response.text('ok');

重定向

import response;
//重定向到该地址,内部利用HttpServletResponse的sendRedirect方法
return response.redirect('/xxx/xx');

文件下载

import response;
return response.download('文件内容','test.txt');

输出图片

import response;
// 输出图片
return response.image(bytes,'image/png');

请求第三方API接口

import http;
http.connect("http://localhost:9999/sql/select") 

输出图片

import response;
// 输出图片
return response.image(bytes,'image/png');

请求第三方API接口

import http;
http.connect("http://localhost:9999/sql/select") 

还有许许多多的操作,这里就不做介绍了,这个工具非常强大,使用过才知道有多好,在某些使用场景中非常方便快捷。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/353315.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

magics24安装教程|magics中文版下载

magics24是由Materialise公司推出的一款功能强大的平面数据处理软件&#xff0c;通过它&#xff0c;能够使用户用最短的前置时间提供高质量样品&#xff0c;并在此过程提供全部文件&#xff0c;非常实用。该软件在完整性、灵活性、强大行和易用性等各个方面都具有不可代替的优势…

C# Winform控件包 MaterialSkin使用教程 免费开源,支持中文!

如果没有拿到控件包DLL的可以去这篇文章里自取。C# Winform控件包分享&#xff0c;免费开源&#xff0c;支持中文&#xff01; 控件比较多&#xff0c;我会抽出时间分控件逐一书写教程&#xff0c;不定时更新&#xff0c;感兴趣的朋友可以关注我。 本文将在以下几个方面进行指…

5.2.6 地址解析协议ARP

5.2.6 地址解析协议ARP 我们知道要想实现全球范围内主机之间的通信&#xff0c;必须要有两个统一&#xff0c;一个是地址&#xff0c;另一个是数据格式&#xff0c;我们使用IP地址来实现统一的地址&#xff0c;使用IP分组实现统一的数据格式&#xff0c;在前面局域网的学习中我…

如何利用MES系统进行生产防呆防错?

一、认识MES系统的防呆防错功能 首先&#xff0c;我们要清楚了解&#xff0c;什么是MES系统的防呆防错。MES系统防呆防错是指利用MES系统来避免生产过程中的错误和缺陷&#xff0c;保障生产排程和生产过程顺利进行的过程。MES系统防呆防错包括以下方面&#xff1a; 1. 自动识别…

Nginx服务——主配置文件-nginx.conf

一、全局配置的6个模块简介 模块说明全局块全局配置&#xff0c;对全局生效events块配置影响 Nginx 服务器与用户的网络连接http块配置代理&#xff0c;缓存&#xff0c;日志定义等绝大多数功能和第三方模块的配置server块配置虚拟主机的相关参数&#xff0c;一个 http 块中可…

《Metasploit渗透测试魔鬼训练营》学习笔记

Metasploit渗透测试魔鬼训练营学习笔记 法律常识 《中华人民共和国网络安全法》已由中华人民共和国第十二届全国人民代表大会常务委员会第二十四次会议于2016年11月7日通过&#xff0c;现予公布&#xff0c;自2017年6月1日起施行。 第二十条 国家支持企业和高等学校、职业学…

青魔法Python(持续更新)

*跳转到文章结尾* https://www.cnblogs.com/Asterism-2012/p/10047356.html 目录 注释的学问 青魔法Python-圣诞快乐 python源于圣诞节&#xff0c;他的创造者是Guido van Rossum&#xff08;贤者-龟叔&#xff09;。 操作系统:Windows10,Linux Ubuntu 编译器&#xff1…

Metasploit渗透测试魔鬼训练营

信息搜集 外围情报搜集物理机有网状态下物理机无网状态下个人推测获取的信息 主机探测与端口扫描活跃主机扫描ICMP Ping命令Metasploit的主机发现模块arp_sweep使用方法使用Nmap进行主机探测-sn选项扫描-Pn选项扫描-PU选项 操作系统辨识-O选项扫描-A选项扫描 端口扫描与服务类型…

刺客信条4黑旗黑屏无响应闪退解决方案(限于A卡)

鼠标右键【Radeon设置】&#xff1a; 找到游戏&#xff0c;点击调整游戏图形&#xff1a; 3.【将调整游戏图形】显卡一栏的所有优化全部关掉&#xff1a; 4.【高级】一栏上同&#xff1a; 5.重新进入游戏。

起源鸿蒙虚无等级,《刺客信条:起源》或为开放世界游戏 最高等级只有40

《刺客信条&#xff1a;起源》虽然是刺客信条系列的最新作&#xff0c;但是游戏的改动非常大&#xff0c;与之前的刺客系列作品截然不同。而从目前官方公布的情报来看&#xff0c;育碧似乎是想把《巫师3》的叙事手法和《塞尔达传说&#xff1a;荒野之息》的开放世界融合到这款游…

刺客信条 奥德赛的性能测试软件要求,《刺客信条:奥德赛》硬件配置要求测试!买Xbox One X性价比高!...

10月4日&#xff0c;无论是黄金版还是普通版玩家都已经解锁《刺客信条&#xff1a;奥德赛》&#xff0c;前往美轮美奂的古希腊世界探险。跟之前育碧魁北克负责操刀的《刺客信条&#xff1a;枭雄》相比&#xff0c;这次获得的评价正面很多&#xff0c;对于开放世界的塑造的评价大…

《刺客信条:英灵殿》全面分析:浅谈公式化开放世界

经过澳大利亚艺术家8个小时左右的艺术创作之后&#xff0c;育碧正式公布了刺客信条系列的最新一部作品——《刺客信条&#xff1a;英灵殿》的信息。受玩家万众瞩目的刺客信条系列终于在短暂的沉寂后&#xff0c;重新回到广大玩家们的视野之中。如今&#xff0c;《刺客信条》新作…

刺客信条全球眼终结者 绿色破解版

点击下载来源&#xff1a;刺客信条全球眼终结者 绿色破解版 刺客信条全球眼终结者是一款国产的视频监控软件&#xff0c;该软件是配合摄像头一起使用的&#xff0c;用户通过它可以轻易的查看到你监控区域的任何画面。刺客信条全球眼终结者与其他视频监控软件相比它有着明显的优…

MobileViT详解:轻型,通用,移动友好的视觉变压器

MobileViT详解&#xff1a;轻型&#xff0c;通用&#xff0c;移动友好的视觉变压器 0. 引言1. 网络结构2. 模型详解2.1 MobileViT Block2.1.1 Local representations2.1.2 Transformers as Convolutions (global representations)2.1.3 Fusion 2.2 MV2 3. 简化版理解4. 总结 0.…

html5需要很高的电脑配置,上古卷轴5需要什么配置要求 配置要求高吗

上古卷轴5是一款非常好玩的动作角色扮演类游戏&#xff0c;那么有很多用户想要在需要什么样的电脑配置才能流畅的运行这款游戏呢&#xff1f;下面就通过这篇文章给大家介绍一下&#xff0c;一起往下看吧&#xff01; 处理器&#xff1a;Intel酷睿i5-750或AMD Phenom II X4-945(…

Java课程设计-学生管理系统《控制台版本》

博主介绍&#xff1a;✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

计算机资源管理窗口,资源管理器怎么打开,教您打开电脑资源管理器

资源管理器在哪儿&#xff1f;对于这个名词大家看到后或许会楞了一下&#xff0c;这是什么啊&#xff1f;是的&#xff0c;即使使用过&#xff0c;但是用户们在脑海里还没有多大的概念&#xff0c;只知道资源管理器是Windows系统提供的资源管理工具&#xff0c;下面&#xff0c…

一分钟快速重启资源管理器

Step1:打开电脑的任务管理器。 快捷键&#xff1a;EscShiftCtrl&#xff08;也可以使用CtrlAlt.或者CtrlAltDelete&#xff0c;在弹出的窗口中&#xff0c;选择任务 管理器&#xff09; Step2:在进程列表中下拉找到Windows进程&#xff0c;然后选中Windows资源管理器&#xff…

删除文件时提示已在windows资源管理器中打开怎么办?

删除文件时提示已在windows资源管理器中打开的原因是系统错误导致的&#xff0c;具体解决方法步骤如下&#xff1a; 1、首先打开计算机&#xff0c;在计算机桌面下方任务栏鼠标右键点击一下&#xff0c;在弹出来的选项点击【启动任务管理器】。 2、然后在任务管理器中&#xf…

Win10怎么重启资源管理器?重启资源管理器快捷键是什么

在Windows系统中有一个资源管理器&#xff0c;其实它就是用来管理电脑里所有文件的&#xff0c;当用户想要进行某些操作时卡住无反应&#xff0c;很可能就是因为Windows资源管理器出问题了&#xff0c;下面我来给朋友们讲讲重启资源管理器的方法吧。 Win10重启资源管理器的方法…