社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
Magic-Api是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发。
本文演示SpringBoot整合Magic-Api,并演示基本使用。
一、项目搭建
新建一个SpringBoot项目,引入依赖:
<properties>
<java.version>1.8</java.version>
<easyexcel.version>2.2.6</easyexcel.version>
<lombok.version>1.16.10</lombok.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>8.0.22</scope>
</dependency>
<!--swagger配置-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
</dependencies>
二、配置文件及建表脚本
①配置项目端口号及邮件信息:
spring:
datasource:
url: jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
username: ****
password: ****
driver-class-name: com.mysql.cj.jdbc.Driver
magic-api:
web: /magic/web
resource:
type: database
tableName: magic_config
prefix: /api
readonly: false
sql-column-case: camel
page-config:
size: size
page: page
default-page: 1
default-size: 10
server:
port: 8989
②建表脚本:
CREATE TABLE `magic_config` (
`id` bigint(255) NOT NULL AUTO_INCREMENT,
`file_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`file_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 0 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_bin DEFAULT NULL,
`age` int(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
三、编码实现
②启动类
@SpringBootApplication
@EnableSwagger2
public class MailApplication {
public static void main(String[] args) {
SpringApplication.run(MailApplication.class, args);
}
}
③启动项目并访问http://localhost:8989/magic/web/index.html:
④集成Swagger:访问http://localhost:8989/swagger-ui.html可查看接口文档:
测试验证OK。
说明:
Magic特性很多:
支持MySQL、MariaDB、Oracle、DB2、PostgreSQL、SQLServer 等多支持jdbc规范的数据库
支持非关系型数据库Redis、Mongodb
支持分页查询以及自定义分页查询
支持多数据源配置,支持运行时动态添加数据源
支持SQL缓存,以及自定义SQL缓存
支持自定义JSON结果、自定义分页结果
支持对接口权限配置、拦截器等功能
支持运行时动态修改数据源
支持Swagger接口文档生成
基于magic-script脚本引擎,动态编译,无需重启,实时发布
支持Linq式查询,关联、转换更简单
支持数据库事务、SQL支持拼接,占位符,判断等语法
支持文件上传、下载、输出图片
支持脚本历史版本对比与恢复
支持脚本代码自动提示、错误提示
支持导入Spring中的Bean、Java中的类
支持在线调试脚本引擎
支持自定义工具类、自定义模块包、自定义类型扩展、自定义函数等。
有兴趣的读者可自行尝试。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!