1.x版本更新日志
# [v1.7.5] 2022.01.13
- 新增
try with resources
语法支持 - 修复在使用
log
的情况下DEBUG
可能造成线程阻塞的问题 - 修复
mybatis
模式中的部分转义错误 - 修复
finally
代码块在部分情况表现与Java
不一致的问题 - 修复集合、数组扩展方法
distinct
方法返回值是Set
的BUG
- 优化扩展方法缓存,提升调用扩展方法性能
- 优化单表拦截器
API
,调整UPDATE
执行时机 - 优化代码提示、错误提示
提示
1.x
版本后续除了修复BUG
以外不会再新增功能,新功能将在2.x版本中
目前2.x
分支基本开发完毕,在1.x
基础上的修改项如下:
- 前台使用
vue3
重写,UI
细节优化 - 支持显示在线人数,他人正在编辑的接口。
- 后台重构,以便更加方便的添加新功能
- 支持
i18n
国际化(目前完成60%
) - 支持定时任务在线配置
- 备份机制重构,支持自动全量备份并从全量备份中还原。
- 移除
assert
模块,改用assert
语法,正在使用assert
模块的,强烈建议改为assert
语法,方便后续升级 ElasticSearch
模块(开发中)- 解构语法(开发中)
需要体验的可以在Gitee (opens new window) 下载源码,自行编译2.x
分支引入使用。
需要注意的是,2.x
版本并不完全兼容1.x
版本,需要从1.x
版本中导出,再从2.x
中的界面导入。
另外2.x
版本尚未稳定,请勿在生产环境中使用。正式版本预计在春节后发布。
# [v1.7.4] 2022.01.04
- 新增
mybatis
语法的<
和>
自动转义 - 修复在使用
ResultProvider
时识别方法签名不正确的问题 - 修复前端语法解析错误 I4OGMK (opens new window)
- 修复单表
save
时主键primaryValue
获取不到的问题 PR39 (opens new window) - 修复无法给数组赋值的
BUG
- 修复查询历史记录时可能未释放数据库连接的问题
- 修复重命名分组后上传或推送可能会出现同名分组的
BUG
- 修复
linq
多个left join
结果不正确的BUG
- 修复
magic-script
部分情况不兼容log4j
的问题 - 优化
mybatis
语法和?{}
不兼容的问题
# [v1.7.2] 2021.12.27
- 新增数组&集合去重函数
distinct(e->e.x)
- 新增
SQL
后置拦截器 I4NU79 (opens new window) - 新增
Class
扩展方法getName
、getSimpleName
、getCanonicalName
- 新增
Map
到Bson
的隐式转换,方便调用mongo
相关API
- 修复日志组件溢出时未显示滚动条的问题
- 修复请求体
JSON
属性值类型修改后被还原的问题 I4N708 (opens new window) - 修复部分运算符优先级不正确的问题
- 修复
linq
多个left join
结果不正确的BUG
- 修复
::date
未传参数时错误信息不提示的问题 - 修复
...
扩展运算符不支持数组的问题 - 优化正则表达式匹配规则,解决部分情况语句解析不正确的问题
- 优化执行结果显示,保持
JSON
原样输出 - 优化代码提示,解决部分场景无法提示的问题,优化部分代码提示高亮
# [v1.7.1] 2021.11.29
- 新增
http
模块的exceptBytes
方法,用于返回byte[]
数据 - 修复并发情况下、
MagicScriptContext
会被共享的问题 - 优化
header
获取,key
不再区分大小写
# [v1.7.0] 2021.11.22
- 新增支持
HEAD
、PATCH
请求方法 I4HSB7 (opens new window) - 新增支持
import orgssssssss.magicapi.IoUtils
的方式导包(去掉需要加引号的限制) - 新增
date_format
函数,支持LocalDate
、LocalDateTime
等类型 - 新增
String.replace(pattern, replacement)
方法 - 新增复制接口到其他目录下 I47FV9 (opens new window)
- 修复搜索结果部分情况高亮不正确的问题
- 修复代码高亮部分情况不正确的
BUG
- 修复不兼容
spring boot 2.6.0
的问题 - 修复
>
、>=
、<
、<=
等运算符不支持BigInteger
的问题 - 修复
log
模块获取接口名失败时会出现异常的BUG
- 优化
collection.group
的map key
顺序 - 优化代码提示、优化
import
提示,提示可自动导包 - 优化页面加载速度(缩小
/magic/web/classes.txt
的大小) - 优化代码去除不必要的
ThreadLocal
- 优化代码编辑器选中样式,修复串位的问题
# [v1.6.4] 2021.11.08
- 新增测试时显示
Response Header
- 新增支持调用
map
中的lambda
函数 - 新增接口选项:
不接收未经定义的参数
- 修复
lambda
调用自身时出现的作用域混乱的问题 - 修复
Oracle
执行insert
时出现的类型转换异常 - 修复全局搜索部分情况会请求失败的问题
- 优化编辑器字体样式,使用
JetBrains Mono
字体,支持连字 - 优化
mybatis
的<trim>
在部分情况时无法去除后缀的问题 - 优化分页参数获取,改为配置成表达式,方便从
body
中获取 - 优化拖拽目标节点能突出显示 I48MQM (opens new window)
- 优化移动接口后定位混乱的问题
- 优化模板字符串内的代码提示
- 优化错误信息显示
- 优化日志显示
# [v1.6.3] 2021.11.01
- 新增脚本默认数据源的配置功能 I47VQF (opens new window)
- 修复
LINQ
的offset
设置错误 - 修复在编辑器中下载
json
文件时会被识别成json
结果的问题 - 修复未在编辑器配置
json
结构时,请求携带RequestBody
造成body
为null
的BUG
- 修复
json
属性值类型修改后被还原问题 - 修复
mybatis
的部分解析错误 I4FHWA (opens new window) I4FHT3 (opens new window) - 优化
selectValue
方法,改为取第一行第一列 - 优化
selectOne
方法,改为只取第一行 - 优化分页
count
语句,去除order by
- 优化代码提示,优化
import
提示 - 优化错误提示,优化变量作用域读写
- 优化编辑器的部分快捷键,修复部分快捷键冲突的问题
- 升级
monaco-editor
至0.29.1
# [v1.6.1] 2021.10.26
- 修复设置参数类型无效的问题
- 优化代码提示、悬浮提示、参数提示
# [v1.6.0] 2021.10.25
- 新增
mybatis
if
、where
、set
、foreach
、trim
等标签写法 - 新增
db.select(sqlOrXml,Map)
、db.page(sqlOrXml,Map)
等方法,支持传入变量信息 - 新增
new_array(String ... items)
、new_array(int ... items)
等方法 - 修复在配置
magic-api.response
后,参数验证未通过时出现的空指针异常 - 修复
request
模块部分情况获取不到HttpServletRequest
的问题 - 修复进入断点后,取消断点无效的问题
- 修复在调用
lambda
时,参数与形参个数不一致会产生异常的BUG
- 修复异步调用函数时
context
可能混乱的问题 - 修复在递归调用时,变量作用域发生混乱的问题
- 修复
DEBUG
模式部分情况会编译失败的问题 - 优化
?.
操作符,当找不到属性时直接返回null
不在抛出异常 - 优化在使用
::
转数值时,自动trim
处理
# [v1.5.3] 2021.10.18
- 新增支持编译缓存容量配置
- 新增单表
API
操作拦截器 - 新增是否持久化返回结果的配置
- 新增编辑器日志保留最多条数配置
- 修复
DEBUG
时BigDecimal
类型显示不正确的问题 - 修复函数中
log
模块打印的日志logger name
不正确的问题 - 修复单个表达式中包含
lambda
会编译出错的问题 - 修复编辑器部分组件双向绑定失效的问题
- 修复
page
方法会打印两次count
语句的问题 - 优化
?.
操作符,支持多级嵌套 - 优化
SQL
参数读取性能 - 优化最近打开对话框的样式
# [v1.5.2] 2021.10.12
- 新增请求参数、
Header
支持Date
类型 - 修复
import
可能出现的编译错误
# [v1.5.1] 2021.10.11
- 新增自动打开上次未关闭的
tab
页的功能 - 新增
db.page(countSql,sql)
方法 - 修复在某些情况读取
Cookie
会出现空指针异常的BUG
- 修复历史记录一直显示
guest
的BUG
- 修复历史记录修改时间可能不显示的
BUG
- 修复在配置自动导入
log
模块时可能发生的空指针异常 - 修复
log
模块代码提示错误的问题
# [v1.5.0] 2021.10.08
- 新增
SQL
参数类型转换器::sql('clob')
- 新增请求拦截器方法
afterCompletion
- 新增集合扩展方法
find
、findIndex
、concat
、toMap
- 新增
UI
对话框最近打开功能 - 新增
UI
函数、接口快速定位 - 新增
SQL
日志打印配置 - 新增单表
API
的primary(String, Function)
方法,用于惰性设置主键值 - 新增单表
API
的NamedTable.clone
、Where.clone
方法 - 修复在未定义变量时,可能造成的变量作用域混乱的问题
- 修复在调用第三方脚本引擎时部分变量丢失的
BUG
- 修复在有
BigDecimal
类型参与运算时,精度可能不正确的问题 - 修复双重循环
break
会出现死循环的BUG
- 修复
linq
中left join
结果不正确的问题 - 修复
linq
中having
语句不生效的问题 - 修复部分操作符可能无法匹配类型的问题
- 修复脚本可能出现的
OOM
的BUG
- 修复调用函数时,传入
lambda
可能造成的变量作用域混乱的问题 - 修复递归调用时,变量读写混乱的
BUG
- 优化
log
模块日志显示,将类名改为接口+路径 - 优化历史记录显示,增加显示修改人
- 优化代码格式化,解决不支持
1l
、1m
、1d
等写法的问题 - 优化测试数据源连接失败的日志
- 优化
map
类型动态key
值的写法,由$key
改为[key]
- 优化错误提示,更准确的行列号定位
- 优化
UI
关闭按钮样式 - 文档内容补充以及优化
magic-api.backup-config.database
变更为magic-api.backup-config.datasource
# [v1.4.5] 2021.09.22
- 新增创建数组方法
- 新增支持设置字体和字号
- 新增
NamedTable
、Where
类的page(limit, offset)
方法 - 修复
async
语句不是多线程执行的问题 - 修复在配置禁止导出时,执行导出未弹框显示无权限的
BUG
- 修复函数中出现异常,错误会混乱的问题
- 修复高版本
JDK
无法创建List
的问题 - 修复可变参数无法传递数组的
BUG
- 修复在调用可变参数的方法时,可能出现的空指针的
BUG
- 修复在变量重名的情况下
SQL
中可能获取不到参数的BUG
- 修复模块默认会被自动导入的问题
- 修复在
safari
浏览器下打开空白的问题 - 优化在锁定时,不在自动保存
- 优化
import
语句在找不到类时抛出异常,不在返回NULL
- 优化代码提示,修复常量不能提示的问题,优化错误提示
# [v1.4.3] 2021.09.13
- 新增接口&函数锁定和解锁功能
- 新增前端配置项,可配置驱动类、数据源类型、接口选项、分组选项的默认选项
- 新增支持复制分组功能
- 新增允许替换默认方言实现
- 修复在配置
baseURL
为/
开头时的拼接错误 - 修复
DEBUG
时修改断点无效的问题 - 修复含有
finally
代码块可能会编译出错的BUG
- 修复
NULL
值在部分情况获取不正确的问题 - 修复循环数组时,获取下标不正确的
BUG
- 修复
LINQ
调用时变量作用域错乱的BUG
- 修复当对象为空调用方法时会调用函数的问题
- 优化
Swagger
文档生成,固化operationId
参数 - 优化
JSON
序列化,解决DEBUG
时的JSON
序列化异常 - 优化错误提示
# [v1.4.2] 2021.09.06
- 修复
db
模块的withBlank
在update
时失效的问题 - 修复部分情况编译出现的空指针异常
- 修复字符串转义符未生效的问题
- 修复上下文错乱的问题 I48F0L (opens new window)
- 优化代码格式化,修复部分情况格式化不正确的问题
- 移除非
DEBUG
期间的日志
# [v1.4.1] 2021.09.01
- 新增调用函数的方法。
- 修复
DEBUG
期间部分JSON
结果无法序列化的问题。 - 修复无法调用动态方法的
BUG
- 修复脚本中包含文本块格式化代码时结果不正确的问题
- 修复刚新建的分组不能修改的问题
- 优化历史记录显示顺序
- 优化
DEBUG
时null
值的显示 - 优化在未开启
UI
的情况下,还会推送日志消息的问题 - 优化逻辑删除,支持
int
类型的逻辑删除值。 - 优化
DEBUG
时的变量显示顺序 - 优化日志显示,多行日志收缩显示
- fix I47QH4 (opens new window) I47VNI (opens new window)
# [v1.4.0] 2021.08.30
- 优化脚本执行性能(使用
asm
编译字节码后执行) - 新增
LINQ
语法:limit
offset
- 新增支持
throw
语法 - 新增支持定义数值时使用
_
分隔 - 新增支持定义二进制、十六进制定义数值
0b111000
、0xff
- 新增支持
let
、const
,以及指定类型的方式定义变量 - 新增支持模板字符串语法
`hello:${name}`
- 新增支持数组、集合访问超出范围时直接返回
null
,不在抛出异常。 - 新增集合扩展方法
first
、last
方法,数组增加size
方法 - 新增
db
模块方法:count
、exists
、exclude
、excludes
- 新增非
DEBUG
期间日志显示 - 新增支持点击鼠标滚轮关闭
tab
页 - 修复在验证移动接口、函数时,获取的分组
ID
不是新值的问题 - 修复分组导出内容不正确的问题
- 修复测试带有
RequestBody
时无法上传文件的问题 - 修复脚本中包含文本块格式化代码时结果不正确的问题
- 修复
lambda
格式化不兼容->
的问题 - 修复
iframe
跨域情况下页面不显示的问题 - 优化
DEBUG
时变量信息的结构查看 - 优化页面字体,字间距,更换
LOGO
、暗色皮肤下异常日志颜色 - 优化代码提示,修复部分场景语法解析错误造成的错误提示
- 优化
Swagger
文档顺序,将magic-api
生成的接口调至第一位 - 优化文档结构
# [v1.3.9] 2021.08.16
- 新增支持在测试时上传文件
- 新增
db
模块更新空值的方法withBlank
- 修复
db
模块在切换数据后缓存设置失效的BUG
- 修复部分场景无法查看异常信息的问题:将异常信息改为
WebSocket
通讯 - 修复数据源必填验证不正确的问题
- 修复全量推送或上传后
id
发生变化导致后续不能增量推送或上传的问题 - 优化代码提示,修复部分场景无法提示的问题
- 优化滚动条样式(美化在火狐浏览器中的样式)
- 优化复选框样式(解决部分浏览器复选框错位的问题)
- 优化
UI
数据源编辑页面宽度 - 优化代码提示,支持
asm
分支的throw
语句
# 其它更新
- 新增支持
throw
语法(asm
分支) - 修复
asm
分支部分场景变量作用域不正确的BUG
- 修复
asm
分支不能DEBUG
的问题 - 修复
asm
分支获取异常位置不正确的问题 - 修复
asm
分支可能出现的ClassNotFoundException
提示
使用magic-script
asm
分支方法如下:
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api-spring-boot-starter</artifactId>
<version>1.3.9</version>
<exclusions>
<exclusion>
<groupId>org.ssssssss</groupId>
<artifactId>magic-script</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-script</artifactId>
<version>1.5.0-beta4</version>
</dependency>
# [v1.3.8] 2021.08.11
- 修复
asm
分支不支持DEBUG
的BUG
- 修复
asm
分支异常打印可能出现空指针的问题 - 修复未配置数据源时无法启动的问题
- 优化代码提示,解决部分场景提示不正确的问题
- 优化
UI
布局,将接口选项中的+/-移动至左侧
提示
使用magic-script
asm
分支方法如下:
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api-spring-boot-starter</artifactId>
<version>1.3.8</version>
<exclusions>
<exclusion>
<groupId>org.ssssssss</groupId>
<artifactId>magic-script</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-script</artifactId>
<version>1.5.0-beta3</version>
</dependency>
# [v1.3.7] 2021.08.09
- 新增事件日志
Tab
页 - 新增保存成功消息提示
- 修复集群环境下,修改接口名字可能未同步的
BUG
- 修复无法测试
druid
数据源链接的问题 - 修复在调用Java原生方法只有一个参数且是可变参数时,传入数组参数未被正确处理的
BUG
- 修复在结果预览中文件下载未显示文件名的问题
- 修复
responseBody
属性拷贝丢失,受执行时浅拷贝导致设置了BaseDefinition
的name
导致Swagger
文档生成影响的BUG
- 修复
swagger
文档必填字段未显示的问题 - 升级
commons-compress
至1.21 - 优化
UI
底部布局,将右侧按钮挪至左侧,调整窗口最小高度,禁止拖动推送窗口。 - 优化代码提示、优化代码高亮,兼容
asm
分支 - 优化代码,兼容从低版本升级上来的参数验证、文档生成。兼容
magic-script
的asm
分支
# 其它更新
- 新增支持定义数值时使用
_
分隔(magic-script
asm
分支) - 修复
magic-script
asm
分支中未显示错误信息的问题
提示
使用magic-script
asm
分支方法如下:
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api-spring-boot-starter</artifactId>
<version>1.3.7</version>
<exclusions>
<exclusion>
<groupId>org.ssssssss</groupId>
<artifactId>magic-script</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-script</artifactId>
<version>1.5.0-beta2</version>
</dependency>
# [v1.3.6] 2021.08.02
- 新增注释补全功能
- 增加
not_blank
、not_null
、is_null
、is_blank
、current_timestamp
、print
等相关函数 - 修复未改动脚本时无法保存接口的
BUG
- 修复注销不应该验证需要登录的问题
- 修复文件参数必填验证失效的
BUG
- 修复在使用过程中
Token
失效后未显示登录框的问题 - 修复无法删除接口的
BUG
- 修复
Body
参数在编辑后丢失配置信息的问题 - 修复
Redis
模块部分场景无法注册模块的问题 - 修正删除接口的权限配置错误
- 修复定义
async
、select
字符串时被解析成语句的BUG
- 修复
LINQ
left join
缓存不正确的问题 I42W1F (opens new window) - 修复引用
actuator
组件可能造成的重复注册接口的问题 I42UYG (opens new window) - 优化
http
模块注册,解决某些场景冲突导致无法启动的问题 - 优化状态条显示,解决一直显示
开始测试...
的问题
提示
此版本兼容了magic-script
的asm
分支,asm
分支为会将脚本部分编译为字节码运行。
此外还额外支持了let
、const
定义变量,以及模板字符串
使用方法如下:
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api-spring-boot-starter</artifactId>
<version>1.3.6</version>
<exclusions>
<exclusion>
<groupId>org.ssssssss</groupId>
<artifactId>magic-script</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-script</artifactId>
<version>1.5.0-beta1</version>
</dependency>
# [v1.3.5] 2021.07.26
- 增加Boolean类型的参数定义、
header
定义 PR27 (opens new window) - 新增备份最大保留天数配置
- 新增备份存储方式配置
- 修复在验证
Body
时,无法修改数组值类型的BUG
- 修复
JS
无法识别JSON
数值具体类型的问题 - 修复修改分组时报空指针的
BUG
- 修复在
import
接口、函数时,内部使用exit
未正确返回的问题 - 修复上传时分组冲突检测不正确的BUG
- 修复语法高亮中注释未被正确高亮的问题
- 优化备份判断逻辑,修改为只有脚本部分有变动时才备份。
- 优化
UI
数据源Dialog
- 优化
header
的get
方法,解决无法修改header
参数值类型的问题 PR28 (opens new window)
# [v1.3.4] 2021.07.19
- 弃用
SSE
改为WebSocket
通讯,同时支持集群DEBUG
能力 #I3ZL4B (opens new window) - 新增
assert
语法,用于辅助校验参数。#I3ZL4Q (opens new window) - 新增支持
import "xxx.xxx.*"
的语法,导包更方便。#I3ZL4O (opens new window) - 新增单表
API
逻辑删除功能 #I40L8P (opens new window) - 新增提取代码中的
TODO
、FIXME
的功能 #I3ZL3W (opens new window) - 新增集合扩展去重函数
distinct
- 修复在
knife4j
中参数默认值未显示的问题 #I40BG2 (opens new window) - 修复集合
push
函数未生效的BUG
#I40NP7 (opens new window) - 修复
magic-script
中部分表达式优先级不正确造成的语法解析错误。 - 优化
magic-script
中的关键词检查,去除不必要的检查造成的语法解析错误。 - 优化在接口&函数未保存时,在上方tab页显示
*
号,保存后消失 #I3ZL41 (opens new window) - 优化远程推送的密钥字段,采用
password
控件 #I3ZL48 (opens new window) - 优化接口&函数&数据源加载,增加
Loading
、无数据提示 #I3ZSTI (opens new window) #I3ZSTE (opens new window) - 优化顶部Tab页可拖动排序 #I3ZL47 (opens new window)
- 优化新增分组后自动定位到该位置 #I3ZSTG (opens new window)
- 优化结果预览功能,强化非
JSON
结果的预览 #I3ZL4J (opens new window) - PR !23 更加精准的端口读取和添加 magic-api showUrl 配置提示 (opens new window)
- PR !26 支持gp数据库方言 与PostgreSQL一致 (opens new window)
# [v1.3.3] 2021.07.12
- 新增复制相对路径功能
- 新增注释中的
TODO
、FIXME
高亮 - 修复推送重命名后的接口未被正确同步的
BUG
- 修复
Swagger
文档不显示ResponseBody
的问题 - 修复全局搜索中关键字高亮不正确的
BUG
- 修复不回显
RequestBody
、ResponseBody
的注释、验证信息的BUG
- 修复全局搜索中有时展示不出代码的
BUG
- 修复左侧树复制接口时不能弹出编辑框的
BUG
- 修复分组下没有接口时无法被搜索的
BUG
- 修复拖拽左侧菜单后右侧编辑器大小未自适应的问题
- 优化
UI
权限配置,细化到分组&接口&函数&数据源上 - 优化全量推送&上传模式的逻辑,改为强一致实现。
- 优化顶部
tab
页,使其切换时始终展示在视野中 - 优化粘贴
RequestBody
时,自动对key
添加双引号 - 优化代码提示新增方法参数、返回值说明
- 优化全局搜索对话框,隐藏滚动条、修正显示范围
# [v1.3.2] 2021.07.08
- 新增
PUSH
权限配置 - 修复推送需要验证登录的
BUG
- 修复单表
API
中in
方法拼接SQL
不正确的BUG
- 修复修改分组名称可能出现的空指针异常
- 修复编辑器不显示
RequestBody
的问题 - 修复编辑器中请求方法全部显示为
GET
的BUG
- 优化部分
UI
中的英文,改为中文描述
# [v1.3.1] 2021.07.05
- 新增支持自定义选择接口推送和导出 #I3TRT4 (opens new window)
- 新增国产化数据库人大金仓kingbase方言适配 #I3YCN2 (opens new window)
- 新增主动刷新功能,用于在未开启集群配置且使用同一个存储不能同步的问题。
- 修复
DE
BUG``会造成多次验证的BUG
- 修复设置参数类型不生效的
BUG
- 优化UI样式,将右上角不常用的图标移至右下角、以及左侧菜单优化
# [v1.3.0] 2021.06.28
- 新增
RequestBody
文档注释、属性校验,ResponseBody
文档注释 - 新增
response
模块的getOutputStream
方法 - 新增
UI
配置项defaultExpand
,用于配置是否默认展开 - 修复上传时由于读取顺序无序导致结果错乱的问题
- 修复
Swagger
文档注释被名称覆盖的问题 - 修复在调用
save
时,Oracle
数据库可能出现空指针的BUG
- 优化
UI
上传接口对话框,全量上传时增加确认框 - 优化
UI
左侧树,新增defaultExpand
默认是否展开配置 - 优化
UI
复制路径功能,不在弹出对话框提示。 - 优化
Swagger
文档生成,兼容knife4j
处理 - 优化匹配数据库方言的方式,解决部分驱动不支持获取
URL
的问题
# [v1.2.2] 2021.06.15
- 新增自定义构建异常结果接口
- 新增启动后接口
URL
打印 - 修复在删除分组后,无法上传该分组的
BUG
- 修复可能存在的循环引用的
BUG
- 优化
UI
左侧树搜索,不在区分大小写 - 优化单表
API
,新增支持delete
方法、save
方法增加beforeQuery
参数,用于判断数据是否存在的判断标准
# [v1.2.1] 2021.05.31
- 新增远程推送功能
- 新增注销登录功能
- 修复上传不支持数据源的问题
- 修复搜索未验证是否登录的问题
- 优化
UI
右键菜单,增加图标 - 优化上传逻辑,分为增量模式和全量模式
# [v1.2.0] 2021.05.24
- 新增支持集群部署
- 新增数据源增删改查接口,可持久化保存数据源
- 修复在拦截器中抛出异常时,界面不显示结果的
BUG
- 修复
Oracle
查询单行单列值时,返回值带有ROW_ID
的问题 - PR !13 解决swagger文档使用knife4j时不兼容,无法显示接口详情的问题 (opens new window)
- PR !14 [!]fix swagger文档使用knife4j时接口文档中query类型参数的数据类型显示不正确的问题(不影响swagger原生UI) (opens new window)
- 优化前端代码,在请求时剔除无用字段,避免一些可能存在的错误。
- 优化后端代码,删除
@Deprecated
方法 - 迁移
magic-api-spring-boot-starter
、magic-editor
到magic-api
仓库中
# [v1.1.3] 2021.05.18
- 新增获取函数、接口详情的接口
- 修复无法创建分组的
BUG
# [v1.1.2] 2021.05.17
- 新增支持配置
json
结果code
值 - 新增接口、函数、分组的增删改查接口。
- 修复在测试、删除数据源时未释放链接的问题
- 修复分组无法移动的问题
- 优化设置
RequestEntity
时机 - 优化构建分页结果接口,增加
RequestEntity
、Page
参数 - 优化对
SpringBoot
的兼容性 - 优化UI样式,修复部分样式错位问题
# [v1.1.1] 2021.05.06
- 修复调用
context.get
时可能获取不到变量值的问题 - 修复
http
模块在某些情况下无法携带hedaer
的BUG
- 修复无法创建
druid
数据源的BUG
- 修复在以组件方式引入时可能造成重复保存的
BUG
- 优化
SQL
拦截器,增加参数RequestEntity
- 优化
Swagger
中的RequestBody
改为非必填
# [v1.1.0] 2021.04.19
- 新增分组选项、分组路径变量配置
- 新增
json
、stringify
转换器,用于字符串转JSON
和JSON
转字符串 - 新增全局搜索功能
- 新增阻止页面关闭的配置
- 新增数据源参数
maxRows
- 新增
http
模块(基于RestTemplate
) - 新增单表
API
方法orderBy
、groupBy
- 新增单表
API
方法notNull
、notBlank
用于过滤where
中非空参数 - 修复断点会自动清除的
BUG
- 修复使用
redis
存储时无法删除接口的BUG
- 修复脚本不支持
new
内部类的问题 - 优化测试逻辑,测试时将
serverURL
参数当为baseURL
,不在拼接处理 - 优化
swagger
文档生成,支持path
参数 - 优化
UI
样式,显示接口的请求方法
# [v1.0.2] 2021.04.12
- 新增示例项目 magic-api-example (opens new window)
- 新增错误提示超时时间配置
- 新增单表API
delete
方法 - 修复
oracle
执行插入无法返回主键的问题 - 修复单表API中
save
方法返回的不是主键的问题 - 优化代码提高兼容性,不在强制要求配置数据源
# [v1.0.1] 2021.04.06
- 新增
uuid
函数 - 新增任意值到
Boolean
类型的隐式转换 - 修复无法访问静态内部类的问题
- 修复无法给没有初始值的变量进行赋值的
BUG
- 修复无法将接口移动到接口分组上(没有分组路径)的
BUG
- 修复移动接口可能造成接口重复的问题
- 修复编辑器可能无法显示内容的
BUG
- 修复编辑器中
RequestBody
可能被覆盖的问题 - 修复在使用达梦数据库时,无法使用数据库存储的问题
- 修复在使用文件存储时无法创建数据源的
BUG
- 优化方法调用的悬浮提示
- 优化带有可变参数的代码提示
- 优化单表API,列名现在可以从驼峰命名转为下划线
- 优化单表API的
save
方法,在执行插入时可设置主键值 - 优化单表API的主键非空判断逻辑,由
!=null
转为notBlank
- 优化集合函数
filter
,不在强制要求返回Boolean
类型 - 优化部分代码,提取一些魔法字符串到常量类中
# [v1.0.0] 2021.03.29
- 新增自定义用户名密码登录验证
- 修复
函数列表
、数据源管理
拖动样式不正确的问题 - 修复解析文件内容时因意外的格式造成的解析错误
- 修复
readonly
在db
、redis
存储不生效的问题 - 修复数据源管理中异常信息显示不正常的
BUG
- 修复无法为
JavaBean
属性赋值的BUG
- 修复在
RequestBody
填写错误时,无法执行测试的BUG
- 修复在配置
Long
转String
时,历史记录时间显示不正确的问题 - 优化
UI
权限配置,使其更细致化 - 优化获取接口选项值的接口
- 优化前端读取配置的逻辑,使其更实用
- 优化前端验证逻辑,路径变量中的
value
为必填 - 优化脚本备份逻辑,减少备份次数
- 优化部分代码,兼容
Gson
,使其不在报错
# [v1.0.0-beta2] 2021.03.22
- 新增动态数据源管理(可在页面动态修改数据源)
- 新增路径变量验证
- 修复打成
jar
包后无法导出接口的BUG
- 修复复选框未回显的问题
- 修复在新增函数时,参数类型不回显的问题
- 修复不能关闭跨域配置的
BUG
- 修复打包后无法读取
js
配置文件的问题 - 修复权限配置不正确的
BUG
- 修复配置抛出异常无效的
BUG
- 优化
JSON
构建接口,参数统一封装,减少方法 - 优化读取资源逻辑,增强数据库兼容性
- 优化日志打印,方便排除错误
- 优化模拟测试,增加支持路径变量配置
# [v1.0.0-beta1] 2021.03.18
# 新增功能
- 新增存储资源配置项(可在配置文件中配置存储方式)
- 新增强制只读模式
- 新增单表操作
API
- 新增接口参数类型、默认值配置
- 新增接口参数验证、
header
验证功能(支持必填、表达式和正则验证) - 新增自定义响应结构配置(可在配置文件中配置响应结构)
- 新增语法 ```language ``` ,可执行对实现
JSR223
规范的脚本语言,也可自定义 - 新增接口导入、导出功能
- 新增跨域开关配置,现在可以关闭跨域功能
# BUG
修复
- 修复历史记录排序不正确的问题
- 修复可能无法加载后台设置的编辑器配置的
BUG
- 修复缓存在指定有效期时可能无效的
BUG
- 修复驼峰命名转换在列名全大写时未转换的问题
- 修复三元表达式在赋值语句中表现不正确的
BUG
# 优化
- 优化代码编辑器,增加是否要自动保存的配置
- 优化变量定义,现在可以省略赋值语句。
- 优化
Json
构建接口,增加RequestEntity
参数可获取request
、response
、接口等相关参数及配置 - 优化数据库、
redis
资源读取逻辑,加快启动速度 - 优化
linq
语法,linq
关键字不在区分大小写 - 优化
UI
界面,替换部分图标,增加tab
页图标,方便区分接口
、函数
- 优化方法调用,
lambda
表达式可隐式转换为Java
的FunctionalInterface
接口 - 优化方法调用,允许调用接口的
default
方法
上次更新: 2023-03-23 13:11:51