一、简介
magic-api是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口。无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发。
已有上千家中小型公司使用,上万名开发者用于接口配置开发,gitee积累3.1k星,gitee地址如下:https://gitee.com/ssssssss-team/magic-api。我在近日接触到的一个项目中,就使用了magic-api框架,使用过后我发现magic-api框架有以下几个特点:
1.使用场景:后端人员进行HTTP API接口开发,支持多数据源切换,自带接口测试功能可加速开发过程。
2.使用难易:对于后台开发人员来说,添加一个依赖就可以使用,轻量级。
3.开发成本:支持脚本代码自动提示、参数提示、悬浮提示、错误提示。由类java语法 + sql语法组成,无需对里面自带的语法进行学习。
4.发布成本:支持脚本历史版本对比与恢复,基于magic-script脚本引擎,动态编译,无需重启,实时发布。
二、快速开始
我们将通过一个简单的demo来阐述magic-api的功能。
1.初始化工程
创建一个空的Spring Boot工程, 以mysql作为默认数据库。
2.添加依赖
引入Spring Boot Starter父工程
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>undefined</version> <relativePath/> </parent>
引入magic-api-spring-boot-starter依赖
<dependency> <groupId>org.ssssssss</groupId> <artifactId>magic-api-spring-boot-starter</artifactId> <version>2.0.1</version> </dependency>
引入spring-boot-starter,spring-boot-starter-web,spring-boot-starter-test,mysql依赖
<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>
3.配置application.yml
server: port: 9999 magic-api: #配置web页面入口 web: /magic/web resource: #配置文件存储位置。当以classpath开头时,为只读模式 #mac用户请改为可读写的目录 #如果不想存到文件中,可以参考配置将接口信息存到数据库、Redis中(或自定义) location: D:/data/magic-api spring: datasource: driver-class-name: com.mysql.jdbc.Driver url:jdbc:mysql://localhost:3306/magic-api-test?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8 username: root password: test
4.访问api管理界面
启动项目之后,访问http://localhost:9999/magic/web 即可看到web页面
三、写接口代码
1. 创建分组
点击创建分组按钮后,输入分组信息,点击创建。
2. 新建接口
右键分组,点击新建接口。
在编辑器输入内容后,填写接口名称和及其路径。
var sql = """ select * from test_data""" return db.select(sql)
ctrl+s保存后,即可访问接口。
3.访问接口
> curl http://localhost:9999/test/test { "code": 1, "message": "success", "data": [ { "id": 1, "name": "magicApi" }, { "id": 2, "name": "xiaoDong" } ], "timestamp": 1638192442535, "executeTime": 9}
也可以通过web界面执行。
四、小结
通过以上几个步骤,我们就实现了一个简单的查询功能。省去了Controller、Service、Dao、Mapper、XML、VO等模板代码的工作量。如果你也有接口快速发开,小型项目快速搭建的需求,不妨试试magic-api框架吧!