Releases: Tencent/APIJSON
完善中文和英文文档;更新 PostgreSQL 的测试表
Server:
完善远程函数调用在函数格式错误时的报错信息;
非开放请求不允许传远程函数;
解决 Access 表里配置 name 和 alias 未成功实现表映射;
同步 APIJSONBoot 的 Application 代码到 APIJSONFinal;
MySQL:
更新表
PostgreSQL:
更新表
文档:
完善 判断是否存在 EXISTS 和 子查询 Subquery 的说明;
解决英文文档的一些文案和格式问题;
同步 APIJSONBoot 的代码到 APIJSONFinal
Server:
解决 APIJSONFinal 缺 libs 目录及相关 jar 包;
同步 APIJSONBoot 的代码到 APIJSONFinal;
新增多表关联操作的事务处理;完善 JFinal 的 Demo
Server:
新增支持多表关联操作的事务处理;
RemoteFunction 内强制校验远程函数必须符合 Function 表的配置;
Function 表新增 methods,tag,version 用于限制远程函数的使用范围;
非 DEBUG 模式下禁用 @ explain;
非 DEBUG 模式下不允许访问字段 debug 为 0 的表;
APIJSONBoot 升级 fastjson 版本,纠正版本号;
APIJSONFinal 与 APIJSONBoot 同步代码和依赖;
解决已执行 SQL 数量统计错误;
解决 DemoFunction 在 Function 表的 version 为 null 时测试不通过;
解决 DemoFunction.getFunctionCall 参数 arguments 为 null 时拼接错误;
优化代码;
废弃 @ correct;
ORM 升级版本为 3.7.0 并打新的 jar 包;
MySQL:
更新表;
文档:
完善对首页简介及通过用文档的英文翻译,感谢 @ruoranw 的贡献;
新增支持热更新 请求校验 和 权限校验
Server:
新增支持热更新 远程函数、请求校验、权限校验 的配置,通过调用新增的 /reload 接口来实现;
AbstractSQLConfig.Callback 新增 database 和 schema 参数来区分同名表;
解决 JOIN 副表有 DISTINCT 时外层 SELECT 字段出现多余的 DISTINCT 导致语法错误;
解决 JOIN 主表和副表重名导致语法错误,通过给副表加 AS 别名来实现;
调整 Join 类的 表名 和 请求对象 分别对应的 变量名,避免和其它类不一致导致误解;
打包 apijson-orm-3.6.5.jar;
MySQL:
更新表,并把单个表文件都放到 single 目录,避免和 sys.sql 一起导入报错;
新增支持去重关键词 DISTINCT
Server:
新增支持去重关键词 DISTINCT,例如 "@column": "DISTINCT momentId;count(DISTINCT userId)";
升级 mysql-connector-java 驱动,兼容 MySQL 8;
解决 Oracle 版 oracle jdbc 依赖下载不了,注释报错且未用上的方法;
解决 pom.xml有可能出现的错误;- 感谢 @vincentCheng 的贡献
完善详细的说明文档,修正错误;- 感谢 @vincentCheng 的贡献
打包 apijson-orm-3.6.0.jar;
MySQL:
更新表;
Android:
完善 Java 和 Kotlin 测试解析 Response JSON 的代码;
文档:
更新说明文档;
【性能】新增存储过程 @key():"fun(...)";新增对象关键词 @explain 和 @cache;多方面提升性能;完善和解决 bug 等
Server:
新增存储过程 @key():"fun(...)",与远程函数相比用法除了多了 @ 其它都一致;
新增对象关键词 @Explain 和 @cache 来帮助分析执行性能;
新增全局默认的 @Explain 和 @cache;
新增调试模式下输出时间;
解决 id{} 和 id 同时存在有时候 contains 因为类型不一致导致判断错误而 throw NotExistException;
解决 newSQLConfig 抛 NotExistException 没被 catch 到导致最终返回错误结果;
解决全局的 @database 和 @Schema 对 JOIN 的副表在解析生成 JOIN 副表语句时未生效,导致 SQL 内主表和副表引号不一致而报错;
避免全局默认的 @Schema 自动填充进来导致 Table,Column,PgClass,PgAttribute 的 schema 错误,查不到文档;
解决对表对象数量限制失效;
纠正并完善 sql count 的计算和显示;
MySQL preparedStatement 严格按照类型调用方法,避免隐式转换提高性能;
加强对远程函数 "key()":"fun(arg0,arg1...)" 的格式校验;
优化访问限制的计算及报错;
优化 AbstractSQLExecutor 的缓存;
优化 SQLExecutor 缓存的数据结构,提高性能;
优化存储过程的性能;
提高非调试模式下的日志性能;
调整解析 key:{} 和 key[]:{} 抛异常顺序,优化报错和性能;
SQLConfig 删除多余的 cacheStatic;
打包 apijson-orm-3.5.7.jar;
MySQL:
更新表;
Android:
APIJSONApp 引入 Kotlin,并新增测试自动生成代码的 TestRequestAndResponse 的 Java 和 Kotlin 的工具类;
其它:
完善文档;
【性能】新增4个限制请求的方法;更新文档
Server:
Parser新增maxObjectCount和maxArrayCount限制;
Parser新增maxQueryDepth限制,优化maxObjectCount和maxArrayCount限制;
APIJSONORM完善getMaxSQLCount限制;
调试模式下输出depth,sql:count等信息;
MAX_QUERY_DEPTH值调高为5;
优化getMaxQueryDepth的判断;
MAX_SQL_COUNT提高到1000条;
打包 apijson-orm-3.5.3.jar;
其它:
更新文档,纠正错误;
LEFT JOIN 和 RIGHT JOIN 支持定制子查询外层的 column,group,order,having;支持通过 PgClass 和 PgAttribute 查 PostgreSQL 的表属性和字段属性;
Server:
支持通过 PgClass 和 PgAttribute 查 PostgreSQL 的表属性和字段属性;
增强 LEFT JOIN 和 RIGHT JOIN ,支持
"join": {
"</User/id@": {
"@column": "name",
"@order": "date-"
},
"</Comment/momentId@": {
"@column": "toId,userId,content,date",
"@group": "toId",
"@having": "toId>100"
}
}
定制子查询外层的 column,group,order,having;
修复Colomn非常规数据库字段,获取表名失败导致输出异常;
解决HEAD查总数且字段取别名时校验不通过报错,导致不能同时查总数及有别名的数据;
打包apijson-orm3.5.0.jar;
全面兼容PostgreSQL;新增支持自定义主键名等功能;其它完善优化等
Server:
新增支持自定义主键名getIdKey和用户主键名getUserIdKey;
login接口新增defaults:{},为每个请求JSON最外层新增默认字段;
新增通过 Log.DEBUG 来切换日志输入,非 DEBUG 模式下隐藏敏感信息;
新增支持全局默认模式 @Schema;
完善JSONObject和JSONRequest中子查询的关键词;
大小写敏感,正则匹配,包含选项,增加移除,POST等功能兼容PostgreSQL;
完善默认数据库类型改为 PostgreSQL 的代码及注释;
跨数据库@database:value中value取值只能是全大写;
解决PostgreSQL的json类型字段返回的值总是多包一层的对象;
解决PostgreSQL预编译模式下传JSON参数到SQL后报错类型不是jsonb;
解决包含选项 key<>:value 不兼容 PostgreSQL,Number或Boolean类型不用单引号包裹;
解决对MySQL输入的SQL与实际执行的SQL不符;
fastjson升级为1.2.55;
打包apijson-orm-3.4.9.jar;
PostgreSQL:
完善表结构和数据;
部分表字段类型改为jsonb;
删除多余的表;
MySQL:
更新表;
打包整个Schema所有表的apijson_all_mysql.sql重命名为sys.sql;
文档:
更新文档,新增使用 APIJSON 的企业或项目 Logo 及链接等;
新增 >,<,>=,<= 比较运算;完善APIJSONFinal
Sever:
APIJSONORM 新增 >,<,>=,<= 比较运算;
APIJSONFinal 新增启动时的自检;
APIJSONFinal 解决自动化 API 的入口方法和 APIJSON 操作方法对应错误;
APIJSONORM 优化生成 SQL 语句的格式,比较运算符前后加空格;
APIJSONBoot 和 APIJSONFinal 完善启动说明;
打包 apijson-server3.4.5.jar;
文档:
新增子查询等功能说明;