Skip to content

Releases: Tencent/APIJSON

预编译模式下@having和@column支持SQL函数

20 Aug 14:36
Compare
Choose a tag to compare

Server:
预编译模式下支持@having:"function0(arg0,arg1,...)?value0;function1(arg0,arg1,...)?value1...";
预编译模式下@column支持SQL函数,例如 column0,column1:alias;function0(arg0,arg1,...);function1(...):alias...

解决某些情况下JOIN中SQL语句的外层column不包括子表的;

新增join,支持LEFT,RIGHT,INNER,FULL,OUTTER

29 Jul 16:11
Compare
Choose a tag to compare

新增join,支持LEFT,RIGHT,INNER,FULL,OUTTER:
"<" - LEFT
">" - RIGHT
"&" - INNER
"|" - FULL
"!" - OUTTER
仅适用于GET请求。
示例:
"[]": { "join": "&/User/id@,</Comment/momentId@" }

远程函数支持校验session及新增函数

12 Jul 17:48
Compare
Choose a tag to compare

Server:
远程函数支持校验session;
远程函数新增verifyIdList和verifyURLList;
远程函数新增deleteChildComment来彻底删除评论的子评论及子评论的子评论;

更新table;

远程函数key():function(...)新增优先级key-() > key() > key+();解决bug和其它优化;

18 Jun 12:19
Compare
Choose a tag to compare

Server:
远程函数key():function(...)新增优先级key-() > key() > key+();
AbstractSQLExecutor新增onPutColumn和onPutTable,在DemoSQLExecutor重写可实现控制不返回某张表的某个字段等功能;

解决DemoFunction.isContain在array的值里面的元素类型和value的值的类型不同时return false,导致isContain((JSONArray) [82001,...], (Long) 82001) == false及类似问题;

优化Function执行后的报错;

打包apijson-server2.6.0.jar;

[安全]解决 @ combine:"userId,..." 或 @ combine:"userId{},..." 绕过权限校验

14 Jun 15:36
Compare
Choose a tag to compare

Server:
解决 @ combine:"userId,..." 或 @ combine:"userId{},..." 绕过权限校验;
GETS和HEADS请求也不允许传 @ combine ,避免可能绕过Request表里的规则校验;

优化 @ combine 报错信息;

新增 @combine条件组合 和TYPE校验值类型;优化远程函数、性能和文档;

12 Jun 14:48
Compare
Choose a tag to compare

Server:
新增 @ combine:"key0,&key1,|key2,!key3,..." 支持与或非条件组合;
新增 TYPE:{ key:type } 校验值类型,JSON类型应用场景太窄已注释;
完善远程函数中取值类型错误的异常处理;

解决put/balance接口在未登录时返回错误不是未登录;

优化远程函数,传入request作为第一个参数可最大化灵活实现不同类型的取值,且不用再传参数类型;
优化AbstractParser.onArrayParse缓存取值后数组的性能;
AbstractSQLConfig.putWhere优化性能和条件顺序;

删除 @ condition,用 @ combine 替代;
删除 @ about,查看表和字段属性文档可用APIJSONAuto接口管理工具(查Table和Column),图形化界面更方便;
打包apijson-server2.5.5;

其它:
更新table;
更新通用文档;

新增功能:支持复杂关联关系的查询等;解决Bug;优化性能、文档、压缩包大小等

07 Jun 17:02
Compare
Choose a tag to compare

Server:
引用赋值支持requestObject内提取字段后生成的数组,可实现粉丝动态等复杂关联关系的查询;
预编译模式下支持 key{}:"conditions" 实现部分简单的数学表达式;
新增初期APIJSON构思及实现文档的Windows版;

放宽Document的修改权限,解决APIJSONAuto不能更新测试标准;
解决MySQL CHAR类型字段转JSON报错;
解决引用赋值在引用requestObject内的值时,当类型为JSONObject时会忽略对应的条件;

解决数组内无意义的嵌套浪费性能;
当引用赋值引用requestObject里的对象{}时直接判断为无值;
优化headVerify的代码,方便调试;
删除图片,减少下载的压缩包大小;

更新Demo中libs内的apijson-server.jar

13 May 15:50
Compare
Choose a tag to compare

Server:
更新Demo中libs内的apijson-server.jar

修复head请求中@column有多字段时的兼容问题

13 May 10:39
Compare
Choose a tag to compare

Server:
解决head请求在@column校验未加isPrepared条件,以及有多个字段时出现的兼容问题

[安全]防SQL注入

13 May 10:10
Compare
Choose a tag to compare

Server:
createStatement改为prepareStatement,statement预编译后再setString;

防止可能通过get/gets,head/heads,post,put,delete接口进行SQL注入;

防止可能通过SQLConfig中schema,table,group,having,order,column,values,content,where这些带有String类型值的参数进行SQL注入;

校验@column,@group,@order,@Schema;

预编译模式下禁用key{}:"conditions"和@having:"conditions";