前言
使用SpringBoot开发项目,经常性会进行需求变更。每次数据库增加一个字段都至少需要对DAO、mapper文件进行修改,调试无误后发布部署。今天给大家介绍一款可视化编程工具,在UI界面中就可以完成这些操作,省去这些烦恼。
magic-api框架
添加依赖
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api-spring-boot-starter</artifactId>
<version>2.0.2</version>
</dependency>
其它SpringBoot依赖大家自行添加。
application.yml配置
server:
port: 9999
# 配置静态资源启用 gzip 压缩
compression:
enabled: true
min-response-size: 128
# 配置主数据源
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
datasource:
url: jdbc:mysql://127.0.0.1/magic?useSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=Asia/Shanghai
username: root
password: 123456
magic-api:
web: /magic/web
resource:
type: database # 配置接口存储方式,这里选择存在数据库中
table-name: magic_api_file # 数据库中的表名
prefix: /magic-api # 前缀
创建数据库表
CREATE TABLE `magic_api_file` (
`file_path` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`file_content` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL,
PRIMARY KEY (`file_path`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
就这么简单,下面开始启动。
控制台打印出上面的信息,说明启动成功。
体验
根据控制台信息,打开地址:
说明:
- 区域1定义接口,定义接口分组,自定义函数
- 区域2接口运行、保存、上传、导出、推送
- 区域3SQL脚本开发
- 区域4多数据源配置
- 区域5接口参数配置,日志信息,调试信息
编写一个接口
首先创建一个数据库数据表。
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`age` int(11) NULL DEFAULT NULL,
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
操作参考下图:
执行结果:
数据库中会存入数据,界面也会返回执行结果信息以及日志等。
CRUD实现
查询数据:
return db.select("select * from user where id ='"+id+"'")
更新数据:
return db.table("user").primary("id").update({id:body.id,name:body.name,age:body.age,address:body.address})
删除数据:
return db.update("delete from user where id ='"+id+"'")
分页查询:
return db.page("""
select * from user
""", limit, offset)// 跳过前offset条查limit条
请求参数说明
URL参数
http://172.31.251.11:9999/user/select?id=16。
这样的表单参数magic-api 也会自动将id映射为同名变量。
Request Body参数
对于RequestBody magic-api会将整个请求体映射为body变量,如:
{
"name": "九天银河聊编程",
"age": 35,
"address": "北京"
}
如要获取name属性 则可通过 body.name 来获取,如果提交的body为数组或者List, 支持遍历。
Path参数获取
主要是针对URL定义为http://localhost:9999/user/{id} 的类似接口,如要获取path路径上的id可通过path.id 或 id来获取。
对于请求时使用了http://localhost:9999/user/1?id=2的请求, id变量的值将是RequestParam中的值,此时可以通过path.id 来避免冲突。
Cookie参数获取
magic-api 会对所有Cookie统一封装为一个名为cookie的对象。 如要获取 JSESSIONID 可以通过cookie.JSESSIONID 来获取。
Session参数获取
magic-api 会将HttpSession封装为一个名为session的变量 要获取session中的值,可以通过session.xxx来获取。
还有很多需要去学习摸索,今天就写这么多吧。