🏆 实时 零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构 🏆 Real-Time coding-free, powerful and secure ORM 🚀 providing APIs and Docs without coding by Backend, and the returned JSON of API can be customized by Frontend(Client) users
OTHER License
Published by TommyLemon over 6 years ago
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;
更新通用文档;
Published by TommyLemon over 6 years ago
Server:
引用赋值支持requestObject内提取字段后生成的数组,可实现粉丝动态等复杂关联关系的查询;
预编译模式下支持 key{}:"conditions" 实现部分简单的数学表达式;
新增初期APIJSON构思及实现文档的Windows版;
放宽Document的修改权限,解决APIJSONAuto不能更新测试标准;
解决MySQL CHAR类型字段转JSON报错;
解决引用赋值在引用requestObject内的值时,当类型为JSONObject时会忽略对应的条件;
解决数组内无意义的嵌套浪费性能;
当引用赋值引用requestObject里的对象{}时直接判断为无值;
优化headVerify的代码,方便调试;
删除图片,减少下载的压缩包大小;
Published by TommyLemon over 6 years ago
Server:
更新Demo中libs内的apijson-server.jar
Published by TommyLemon over 6 years ago
Server:
解决head请求在@column校验未加isPrepared条件,以及有多个字段时出现的兼容问题
Published by TommyLemon over 6 years ago
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";
Published by TommyLemon over 6 years ago
Server:
新增测试记录-自动化接口回归测试;
更新table;
批量操作返回的id{}改为id[],方便解析成idList;
解决DemoVerifier传参visitor无效;
修正Controller login的注释错误
删除DemoParser多余的参数;
忽略IDE生成的文件;
Android:
APIJSONTest新增登录和退出;
所有ip地址改为域名url;
APIJSONTest解决不保存Auto界面修改后的request,优化默认id;
Published by TommyLemon over 6 years ago
Server:
eclipse版和idea版合并为一个工程;
解决Library默认JDK是1.5;
优化pom配置,JDK都设置为1.8;
删除多余的文件;
同步 APIJSON后端部署 - Java 的文档;
Published by TommyLemon over 6 years ago
Server:
APIJSONLibrary打成jar包;
删除1.9.0备份(如有需要可下载旧版);
Published by TommyLemon almost 7 years ago
Server:
工程拆分为Library和Demo;
数据库配置从SQLConfig移至SQLExecutor;
JSONObject内KEY_ID,KEY_USER_ID等的值可自定义;
解决 id{}: ["1' OR 1='1'))--"] 绕过id{}限制;
userId,userId{}在WHERE条件中强制置前,仅次于id,id{},提高安全和性能;
Structure新增校验userId和userId{}的值的类型;
优化table的类型和文档注释;
优化命名和注释;
Client:
新增Python版;
其它:
优化Readme文档;
换用全新的Logo和域名;
Published by TommyLemon almost 7 years ago
Server:
禁用Table,Column,Test的增删改权限;
@ role:ONWER请求的userId和登录userId不符时抛异常;
更新table;
Android:
删除代码中的请求文档,全用APIJSON在线文档;
iOS:
在线工具新增自动生成Swift请求代码;
JavaScript:
整理JavaScript工程,引入Vue.js工程;
更新JS-Vue项目;
文档:
整理并优化文档;
新增Java后端、Android、iOS、JavaScript的部署文档;
其它:
更新图片;
删除多余的图片;
Published by TommyLemon almost 7 years ago
新增iOS-Swift版demo
Published by TommyLemon almost 7 years ago
Server:
新增测试用例文档,测试即文档
新增支持从requestObject中通过引用赋值来取值
Application新增测试Log
彻底解决普通对象包装表对象绕过Structure校验 key:{ Table: {}}
防止GETS通过"[]":{"@ role":"ADMIN"},"Table":{},"tag":"Table"绕过权限并能批量查询
解决注册失败
引用赋值不允许赋值后值为null
删除不需要的table并统一id类型
简化Controller中的Request注解
Client:
新增接口返回未登录时跳到登录界面
解决UserActivity编辑错位问题
解决登录界面自动填充上次登录账号失效
Published by TommyLemon almost 7 years ago
Server:
新增自动化版本管理;
新增允许发送跨域凭据;
优化注册、登录、验证码、修改密码等接口;
Client:
优化验证码相关接口,如验证码登录、注册、改密码等;
Published by TommyLemon about 7 years ago
Server:
新增Table-key1-key2...[]取值;
新增Request和Response的查询;
解决类型为JSON的column对应值为NULL导致引用赋值异常,范围无限;
解决@column中的AS和表达式限制;
优化WHERE条件连接,防SQL注入;
优化查询ResultSet中的字段处理,提高性能、解决_key:alias漏洞;
Client:
新增发动态;
与Server同步公共代码;
改服务器地址;
Web:
解决format返回格式错乱;
解决array示例格式化json错乱;
修改基地址;
优化代码;
README:
同步中文版至英文版
Published by TommyLemon about 7 years ago
POST_GET改为GETS,POST_HEAD改为HEADS;
解决在数据库返回结果中所有column的值都为空时导致查询数据不全;
Published by TommyLemon about 7 years ago
Server:
接口全走HTTP POST,Parser#parseRequest取消decode;
加强写操作安全验证:写操作必须要有where条件;批量写操作一次最多操作10条;
批量操作由返回id改为返回id{};
删除Wallet,新增Privacy;
解决部分情况下取关联路径对应的对象时对路径判断错误;
解决@about没权限;
优化SQLConfig中@about解析;
优化所有独立接口;
其它完善和优化;
Client:
简化JSONResponse,format只处理key;
优化JSONObject和JSONRequest,去除encode;
优化Test中CodeUtil代码;
Published by TommyLemon about 7 years ago
新增支持通过id{}:[]修改和删除多条记录;
新增支持查询数据库表属性(Table)及表字段属性(Column);
新增支持校验 key?:"正则",key{}:"条件" ;
新增@ try,@ drop,@ correct,@ about等关键词;
新增在线测试html;
完善及优化SQL;
细分Parser内权限校验粒度;
StringUtil中正则相关完善及优化;
解决不能搜索中文;
解决server.JSONRequest#put非JSON String失败;
解决SQLExecutor中部分String类型被改变,导致身份证等过大的数字最后都解析为int最大值;
解决日期时间在数据库用TimeStamp,Model用String解决转为Long问题;
Published by TommyLemon over 7 years ago
Published by TommyLemon over 7 years ago
Server:
1.新增session自动化管理;
2.新增Row级别自动化角色权限校验;
3.Table[]:[{Table:{Content0}},{Table:{Content1}},...] 去包装为 Table[]:[{Content0},{Content1},...];
4.新增表名映射,隐藏真实表名;
5.新增 @ schema 支持多数据库;
6.JSONResponse新增通用状态码code;
7.新增重置密码接口;
8.用 @ MethodAccess 和 @ MethodStructure 替代 @ APIJSONRequest ;
9.QueryConfig改为SQLConfig,QueryHelper改为SQLExecutor;
10.其它优化和bug修复。
Client:
1.为新服务端工程改版;
2.完成重置密码;
3.部分细节优化。
Published by TommyLemon over 7 years ago
Server:
1.新增支持在Table内解析JSONObject(包括Table) 或 JSONArray;
2.优化非开放请求的结构校验;
3.允许跨域请求,JavaScript版已发布: https://github.com/TommyLemon/APIJSON-JS
Client:
1.新增扫描二维码码查看用户;
2.动态内容、评论内容 新增超链接(url,phone等)识别;