99账号 13000002020 密码 123456
1010http://apijson.org:8000/auto/
1111
12- < h4 /> 新增支持 Case
12+ #### 新增支持 Case
1313
1414实现远程函数也不方便的 SQL 内字段转换 CASE WHEN THEN ,<br />
1515暂时还没有想好如何设计。如果是 SQL 原来的写法,则有点繁琐。<br />
1616
17- < h4 /> 新增支持 @having&
17+ #### 新增支持 @having &
1818
1919来实现内部条件 AND 连接,原来的 @having 由 AND 连接变为 OR 连接,保持 横或纵与 的统一规则。<br />
2020@having ! 必须性不大,可通过反转内部条件来实现,但如果实现简单、且不影响原来的功能,则可以顺便加上。<br />
2121
22- < h4 /> 新增支持 @column!
22+ #### 新增支持 @column !
2323
2424这个只在 APIJSONFramework 支持,需要配置每个接口版本、每张表所拥有的全部字段,然后排除掉 @column ! 的。<br />
2525可新增一个 VersionedColumn 表记录来代替 HashMap 代码配置。<br />
2626需要注意的是,可能前端传参里既有 @column 又有 @column ! ,碰到这种情况:<br />
2727如果没有重合字段就忽略 @column ! ,只让 @column 生效;<br />
2828如果有有重合字段,则抛异常,转为错误码和错误信息返回。<br />
2929
30- < h4 /> 新增支持 TSQL 的 @explain
30+ #### 新增支持 TSQL 的 @explain
3131
3232目前 APIJSON 支持 [ Oracle] ( https://github.com/APIJSON/APIJSON/tree/master/Oracle ) 和 [ SQL Server] ( https://github.com/APIJSON/APIJSON/tree/master/SQLServer ) 这两种 TSQL 数据库(群友测试 IBM DB2 也行)。<br />
3333但是 "@explain ": true 使用的是 SET STATISTICS PROFILE ON(具体见 AbstrctSQLConfig 和 AbstrctSQLExecutor) <br />
3434执行后居然是 SELECT 查到的放在默认的 ResultSet,性能分析放在 moreResult,<br />
3535因为这个问题目前以上两个数据库的性能分析 @explain 实际并不可用,需要改用其它方式或解决现有方式的 bug。<br />
3636
3737
38- < h4 /> 新增支持分布式
38+ #### 新增支持分布式
3939
4040 "@url ": "http://apijson.cn:8080/get "
4141``` js
@@ -55,7 +55,7 @@ http://apijson.org:8000/auto/
5555或许可以加一个 ~ 前缀表示异步?例如 "@url ": "\~ http://apijson.cn:8080/get",由调用方保证没有被下方对象依赖。 <br />
5656
5757
58- < h4 /> 新增支持 Union
58+ #### 新增支持 Union
5959
6060虽然可以通过 INNER JOIN + 条件 OR 连接来替代它的功能,但没法达到它能用索引的性能。<br />
6161支持 UNION 很有必要,但 UNION ALL 几乎没有需求,如果实现简单、且不影响原来的功能,则可以顺便加上。
@@ -87,7 +87,7 @@ LIMIT 10 OFFSET 0
8787```
8888
8989
90- < h4 /> 新增支持 With
90+ #### 新增支持 With
9191
9292可以减少子查询执行次数,提高性能。
9393``` js
@@ -141,45 +141,45 @@ SELECT * FROM `sys`.`Comment` WHERE ( (`userId` IN `sql` ) ) ORDER BY `date` DES
141141APIJSON 提供了各种安全机制,可在目前的新增或改进。
142142
143143
144- < h4 /> 防越权操作
144+ #### 防越权操作
145145
146146目前有 RBAC 自动化权限管理。<br />
147147APIJSONORM 提供 [ @MethodAccess ] ( https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/MethodAccess.java ) 注解来配置 <br />
148148APIJSONFramework 则使用 [ Access 表] ( https://github.com/APIJSON/APIJSON/blob/master/MySQL/single/sys_Access.sql ) 记录来配置 <br />
149149在 [ AbstractVerifier] ( https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java ) 中,假定真实、强制匹配。 <br />
150150
151151
152- < h4 /> 防 SQL 注入
152+ #### 防 SQL 注入
153153
154154目前有 预编译 + 白名单 校验机制。具体见 [ AbstractSQLExecutor] ( https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractSQLExecutor.java ) 和 [ AbstractSQLConfig] ( https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java ) 。
155155
156- < h4 /> 防恶意复杂请求
156+ #### 防恶意复杂请求
157157
158158目前有限流机制,getMaxQueryCount, getMaxUpdateCount, getMaxObjectCount, getMaxSQLCount, getMaxQueryDepth 等。 <br />
159159https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/Parser.java
160160
161161
162162### 优化性能
163163
164- < h4 /> 解析 JSON
164+ #### 解析 JSON
165165
166166优化 [ AbstractParser] ( https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractParser.java ) 和 [ AbstractObjectParser] ( https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractObjectParser.java ) 解析 JSON 性能。
167167
168- < h4 /> 封装 JSON
168+ #### 封装 JSON
169169
170170优化 [ AbstractSQLExecutor] ( https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractSQLExecutor.java ) 封装 JSON 性能。
171171
172- < h4 /> 拼接 SQL
172+ #### 拼接 SQL
173173
174174优化 [ AbstractSQLExecutor] ( https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java ) 拼接 SQL 性能。<br />
175175[ 完善功能] ( https://github.com/APIJSON/APIJSON/blob/master/Roadmap.md#%E5%AE%8C%E5%96%84%E5%8A%9F%E8%83%BD ) 中 Union 和 With 也是优化 SQL 性能的方式。
176176
177- < h4 /> 读写缓存
177+ #### 读写缓存
178178
179179在 [ AbstractSQLExecutor] ( https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractParser.java ) 使用了 HashMap<String, JSONObject> queryResultMap 存已解析的对象、总数等数据。<br />
180180在 [ AbstractSQLExecutor] ( https://github.com/APIJSON/APIJSON/blob/master/APIJSON-Java-Server/APIJSONORM/src/main/java/apijson/orm/AbstractSQLExecutor.java ) 使用了 HashMap<String, JSONObject> cacheMap 存已通过 SQL 查出的结果集。<br />
181181
182- < h4 /> ... //欢迎补充
182+ #### ... //欢迎补充
183183
184184
185185
@@ -188,16 +188,16 @@ APIJSON 代码经过商业分析软件 [源伞Pinpoint](https://www.sourcebrella
188188https://github.com/APIJSON/APIJSON/issues/48 <br />
189189但我们需要再接再厉,尽可能做到 99.999% 可靠度,降低使用风险,让用户放心和安心。
190190
191- < h4 /> 减少 Bug
191+ #### 减少 Bug
192192
193- #### 1.[ APIAuto] ( https://github.com/TommyLemon/APIAuto ) 上统计的 bug
193+ ##### 1.[ APIAuto] ( https://github.com/TommyLemon/APIAuto ) 上统计的 bug
194194账号 13000002000 密码 123456
195195http://apijson.org:8000/auto/
196196
197- #### 2.其它发现的 Bug
197+ ##### 2.其它发现的 Bug
198198https://github.com/APIJSON/APIJSON/issues?q=is%3Aissue+is%3Aopen+label%3Abug
199199
200- < h4 /> 完善测试
200+ #### 完善测试
201201
2022021.在 [ APIAuto] ( https://github.com/TommyLemon/APIAuto ) -机器学习自动化接口管理平台 上传更多、更全面、更细致的测试用例、动态参数等
203203http://apijson.org:8000/auto/
@@ -207,18 +207,18 @@ https://gitee.com/TommyLemon/UnitAuto
207207
208208
209209### 完善文档
210- < h4 /> 中文文档
210+ #### 中文文档
211211
212- #### 1.通用文档
212+ ##### 1.通用文档
213213https://github.com/APIJSON/APIJSON/blob/master/Document.md
214214
215- #### 2.配置与部署
215+ ##### 2.配置与部署
216216https://github.com/APIJSON/APIJSON/tree/master/APIJSON-Java-Server
217217
218- #### ... //欢迎补充
218+ ##### ... //欢迎补充
219219
220220
221- < h4 /> English Document
221+ #### English Document
222222
223223Translation for Chinese document.
224224https://github.com/APIJSON/APIJSON/blob/master/README-English.md
@@ -228,26 +228,26 @@ https://github.com/ruoranw/APIJSONdocs
228228
229229
230230### 丰富周边
231- < h4 /> 新增或完善各种语言 ORM 库
231+ #### 新增或完善各种语言 ORM 库
232232
233233Go, Kotlin, Ruby 等。<br />
234234https://github.com/APIJSON/APIJSON#%E7%94%9F%E6%80%81%E9%A1%B9%E7%9B%AE <br />
235235
236- < h4 /> 新增或完善 Demo
236+ #### 新增或完善 Demo
237237
238238JavaScript 前端,TypeScript 前端,微信等小程序,<br />
239239Android 客户端,iOS 客户端,C# 游戏客户端等。<br />
240240Java, C#, Node, Python 等后端 Demo 及数据。<br />
241241https://github.com/APIJSON/APIJSON
242242
243- < h4 /> 新增扩展
243+ #### 新增扩展
244244
245- #### 1.基于或整合 APIJSONORM 或 APIJSONFramework 来实现的库/框架
245+ ##### 1.基于或整合 APIJSONORM 或 APIJSONFramework 来实现的库/框架
246246
247- #### 2.扩展 APIJSONORM 或 APIJSONFramework 功能的插件
247+ ##### 2.扩展 APIJSONORM 或 APIJSONFramework 功能的插件
248248可以通过扩展对象关键词 @key ,数组关键词 key,远程函数,重写部分方法等来实现。<br />
249249
250- #### 3.前端/客户端 封装/解析 APIJSON 的库/框架
250+ ##### 3.前端/客户端 封装/解析 APIJSON 的库/框架
251251因为 APIJSON 基于 JSON,大部分情况下都可以直接用 fastjson 等 JSON 封装/解析库或其它工具等,<br />
252252只是 APIJSON 有部分功能需要在 key 里放 [ ] , @ 等特殊符号,返回 [ ] 在某些情况下不方便解析,<br />
253253目前可使用 "format": true 让后端格式化后返回,但也会对服务器性能有一些损耗,<br />
@@ -256,17 +256,17 @@ https://github.com/APIJSON/APIJSON
256256
257257
258258### 推广使用
259- < h4 /> 为 APIJSON 编写/发表 博客/文章/资讯 等
259+ #### 为 APIJSON 编写/发表 博客/文章/资讯 等
260260
261261https://github.com/APIJSON/APIJSON#%E7%9B%B8%E5%85%B3%E6%8E%A8%E8%8D%90
262262
263263
264- < h4 /> 登记正在使用 APIJSON 的公司或项目
264+ #### 登记正在使用 APIJSON 的公司或项目
265265
266266https://github.com/TommyLemon/APIJSON/issues/73
267267
268- < h4 /> 在社交技术群、论坛等聊天或评论时推荐 APIJSON
268+ #### 在社交技术群、论坛等聊天或评论时推荐 APIJSON
269269
270- < h4 /> ... //欢迎补充
270+ #### ... //欢迎补充
271271
272272
0 commit comments