Magic-Api 简介:
magic-api
是一个基于Java的接口快速开发框架,编写接口将通过magic-api
提供的UI
界面完成,自动映射为HTTP
接口。 无需定义Controller
、Service
、Dao
、Mapper
、XML
、VO
等Java对象即可完成常见的HTTP API
接口开发。
Magic-Api 官网:https://www.ssssssss.org/magic-api
Magic_api语法简介:
1. 分页
import request;
var result = db.camel().page("""
""")
return {
current:page,
optimizeCountsql: true,
pages:ceil(result.total::double / size::double ),
records: result.list == null ? [] : result.list,
searchCount: true,
size: size,
total:result.total
}
2. 列表
return db.camel().select("""
""")
3. 批量
import request;
var tx = db.transaction();
try {
for (val in body) {
}
tx.commit();
} catch(e) {
tx.rollback();
exit 400, '数据操作出错,回滚事务';
}
4. 新增
return db.insert("""
""" )
5. 修改
return db.update("""
""")
6. 删除
return db.update("""
""")
7. 逻辑
var count = db.selectInt("""
""");
if (count == 0) {
return db.insert("""
""")
} else if (count == 1) {
return db.update("""
""")
} else {
exit 400, '数据异常';
}
项目实战:
1. 引入依赖包
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
2. 配置参数
magic-api:
security: # 安全配置
username: admin # 登录用的用户名
password: 123456 # 登录用的密码
show-url: true #配置打印SQL
response-code:
success: 200 #执行成功的code值
invalid: 400 #参数验证未通过的code值
exception: 500 #执行出现异常的code值
response: |- #配置JSON格式,格式为magic-script中的表达式
{
code: code,
message: message,
data,
extra:executeTime
}
web: /magic/web #配置web页面入口
resource:
#配置文件存储位置。当以classpath开头时,为只读模式
#mac用户请改为可读写的目录
#如果不想存到文件中,可以参考配置将接口信息存到数据库、Redis中(或自定义)
#location: D:/data/magic-api
type: database # 配置存储在数据库中
tableName: magic_api_file # 数据库中的表名
prefix: /magic-api # key前缀
readonly: false # 是否是只读模式
3. 数据库文件初始化
CREATE TABLE "public"."magic_api_file" (
"file_path" varchar(512) COLLATE "pg_catalog"."default" NOT NULL,
"file_content" text COLLATE "pg_catalog"."default"
);