-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
前端传参驼峰命名转为蛇形命名的衍生问题 #615
Comments
我测了一下,原因是DevDeviceInstance中的product_id被转了驼峰命名,所以DevProduct中的id未关联到转驼峰后的productId字段 |
还没发布的版本,已经支持驼峰和蛇形命名转换功能,可以改 maven 依赖为依赖最新源码,或者等新发版 |
用的是最新版代码,后台返回数据蛇形转驼峰没有问题。前端传驼峰,自动转蛇形部分不转换 |
JSONResponse.IS_FORMAT_UNDERLINE = true; |
参数: APIJSONSQLConfig: 如上,重写了SqlConfig的setColumn之后,还剩下表关联配置里的productId@未自动转蛇形 |
我看了。里面的方案只能解决单表查询。表关联里的字段没有转换处理 |
全局下划线驼峰互转:
|
可以跑下 APIAuto 上的测试用例 |
需要等6.2.1版本才可以实现驼峰吗 |
新增驼峰与蛇形命名互转方法以及 JSONResponse.IS_FORMAT_UNDERLINE 等配置 能否给个使用说明 比如说APIJSONBoot例子项目怎么用? |
@SangSpace APIJSONSQLConfig.onGetJoinString这一步你如何实现的呢,我格式化了key和targetKey,但是会触发一个问题,当关联的两个表有相同的字段时,会发起1+n条sql请求(错误的期望),如果是用下划线关联则只会发1条sql(正确的预期)。 |
@zxcwindy 另外 on.getTargetTable() 也顺便替换成 getSQLTableWithAlias(on.getTargetTable(), on.getTargetAlias()),解决表名用的可能不是数据库真实表名,getSQLTableWithAlias 需要参考 getSQLTable 写一个 改好后提交 PR 贡献下代码,谢谢,开源要大家一起参与贡献才会更美好~ 提 PR 贡献代码的步骤可参考: |
尝试了下,没有办法直接用getKey(on.getKey())的方式替换,因为getKey()获取到是类似" 但以上也还是只解决sql的问题,并没有解决额外发送sql 的问题,不知道是哪里触发了。
但是改了join的key之后,会额外再执行一条如下的SQL:
这个SQL如果不做join的key进行转换的话,是不会出现的,而且出现了也没啥意义。 |
我目前没遇到这个,所以还没处理这种情况 |
APIJSON Version/APIJSON 版本号
6.2.0
Database Type & Version/数据库类型及版本号
mysql8
Environment/环境信息
APIAuto Screenshots/APIAuto 请求与结果完整截屏
静态检查无问题
Current Behavior/问题描述
Expected Behavior/期望结果
Any additional comments?/其它补充说明?
No response
The text was updated successfully, but these errors were encountered: