APIJSON icon indicating copy to clipboard operation
APIJSON copied to clipboard

兼容老系统问题

Open wanfaliai opened this issue 4 years ago • 10 comments

数据库的表字段都是下划线形式的,能支持查询时请求参数、返回的数据变成驼峰形式吗 image

wanfaliai avatar Nov 09 '21 03:11 wanfaliai

在 DemoSQLExecutor 重写 getKey, return JSONResponse.formatUnderline(..) // 目前还没有 formatUnderline 方法,可以复制 formatHyphen 改下

https://github.com/Tencent/APIJSON/blob/9df18f4c66422578388005b12c5eef00fee2e79e/APIJSONORM/src/main/java/apijson/JSONResponse.java#L501-L515

TommyLemon avatar Nov 09 '21 07:11 TommyLemon

重写getkey方法是改返回数据是驼峰数据形式,有兼容请求参数也可以是驼峰的吗

wanfaliai avatar Nov 09 '21 08:11 wanfaliai

DemoSQLConfig 重写 getkey,但不建议,因为驼峰转下划线可能在某些情况下匹配不上,例如 isJSONKey 在数据库对应 is_json_key,会被转成 is_j_s_o_n_key

不过也可以用这个插件单独配置 https://github.com/APIJSON/apijson-column

TommyLemon avatar Nov 09 '21 08:11 TommyLemon

DemoSQLConfig 重写 getkey,但不建议,因为驼峰转下划线可能在某些情况下匹配不上,例如 isJSONKey 在数据库对应 is_json_key,会被转成 is_j_s_o_n_key

不过也可以用这个插件单独配置 https://github.com/APIJSON/apijson-column

重写getkey 只能把返回的数据变成驼峰形式, 微信图片_20211110095743

如果请求参数是驼峰的会报错,有什么办法,把请求参数也可以使用驼峰形式呢??? image

wanfaliai avatar Nov 10 '21 02:11 wanfaliai

@TommyLemon ??上面的问题,请求参数驼峰问题 有什么解决方案的??

wanfaliai avatar Nov 16 '21 09:11 wanfaliai

@TommyLemon ??上面的问题,请求参数驼峰问题 有什么解决方案的??

就是上面说的,DemoSQLConfig 重写 getkey,把前端传的 key 从驼峰改为蛇形命名。特殊情况用 apijson-column 手动配置下字段名映射

TommyLemon avatar Nov 16 '21 10:11 TommyLemon

我也遇到了这个问题,老系统要使用的话,参数不兼容, 能否讲这种情况写入框架里,做成配置的形式,让我们自行选择 驼峰命名还是下划线命名

kuaile1993 avatar Nov 01 '22 06:11 kuaile1993

还有很多地方需要完善,比如能有个后台管理系统添加权限类的操作,我相信这个框架在国内肯定非常流行的。说不定未来同spring 一样也是各大厂商面试主要考点,但就目前而言只是实现了核心功能。辅助功能有点少,可配置项太少

kuaile1993 avatar Nov 01 '22 06:11 kuaile1993

请求参数是小驼峰,数据库表名和字段名是小蛇形,返回数据的表名和字段名也要求小驼峰,我看了半天,没有简单的配置么,目前没找到,只能在SQLConfig一个一个配?还有请求参数中的表名,第一个字母大写的问题,例如像“Project_user”这种,属实丑了点。 @TommyLemon

rzshuo avatar Sep 20 '23 06:09 rzshuo

请求参数是小驼峰,数据库表名和字段名是小蛇形,返回数据的表名和字段名也要求小驼峰,我看了半天,没有简单的配置么,目前没找到,只能在SQLConfig一个一个配?还有请求参数中的表名,第一个字母大写的问题,例如像“Project_user”这种,属实丑了点。 @TommyLemon

@kuaile1993 @rzshuo https://github.com/Tencent/APIJSON/issues/615#issuecomment-1732594522

TommyLemon avatar Sep 28 '23 17:09 TommyLemon