简介
magic-api是一个基于 Java 的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、 Dao 、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发。
已有上千家中小型公司使用,上万名开发者用于接口配置开发。上百名开发者参与提交了功能建议,接近20多名贡献者参与。已被gitee长期推荐。从首个版本开始不断优化升级,目前版本稳定,开发者交流群活跃。
特性
- 支持 MySQL 、 MariaDB 、 Oracle 、 DB2 、 PostgreSQL 、 SQLServer 等支持 jdbc 规范的数据库
- 支持 非关系型数据库 Redis、 Mongodb
- 支持集群部署、接口自动同步。
- 支持分页查询以及自定义分页查询
- 支持多种数据源配置,支持在线配置数据源
- 支持 SQL 缓存,以及自定义SQL缓存
- 支持自定义 JSON 结果、自定义分页结果
- 支持对接口权限配置、拦截器等功能
- 支持运行时动态修改数据源
- 支持Swagger接口文档生成
- 基于magic- script 脚本引擎,动态编译,无需重启,实时发布
- 支持Linq式查询,关联、转换更简单
- 支持数据库事务、SQL支持拼接,占位符,判断等语法
- 支持文件上传、下载、输出图片
- 支持脚本历史版本对比与恢复
- 支持脚本代码自动提示、参数提示、悬浮提示、错误提示
- 支持导入 Spring 中的Bean、Java中的类
- 支持在线调试
- 支持自定义工具类、自定义模块包、自定义类型扩展、自定义方言、自定义列名转换等自定义操作
快速开始
1.初始化工程
创建一个空的Spring Boot工程, 以mysql作为默认数据库进行演示。
2.添加依赖
引入Spring Boot Starter父工程:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.0</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.初始化数据库
手动创建空数据库:magic-api-test,执行以下脚本新建数据表。
create table test_data
(
id bigint not null
primary key,
name varchar (100) null
);
INSERT INTO test_data (id, name) VALUES (1, 'magicApi');
INSERT INTO test_data (id, name) VALUES (2, 'xiaoDong');
5.运行
ide工具,运行成功后打开浏览器输入 即可看到Web页面。
6.快速使用
6.1 创建分组
点击创建分组按钮后,输入分组信息,点击创建。
6.2 新建接口
右键分组,点击新建接口。
然后 在编辑器输入内容后,填写接口名称及其路径。
var sql = """
select * from test_data
"""
return db.select(sql)
6.3测试接口
通过以上几个步骤,我们就实现了一个简单的查询功能。省去了 Controller 、 Service 、 Dao 、 Mapper 、 XML 、 VO 等模板代码的工作量。
具体语法请查看官方文档:
开源协议
MIT