APIJSON icon indicating copy to clipboard operation
APIJSON copied to clipboard

重写SQLConfig的getUserIdKey方法后,insert自动充填会丢失created_by字段

Open chenly1980 opened this issue 3 years ago • 5 comments

例: insert into demo(id, name, create_by, update_by);

create_by和update_by是需要自动填充的

chenly1980 avatar Mar 29 '22 07:03 chenly1980

image

默认删除userId这个字段,但是在insert的sql情况是需要的

chenly1980 avatar Mar 29 '22 07:03 chenly1980

常见问题 15 https://github.com/Tencent/APIJSON/issues/36

TommyLemon avatar Mar 29 '22 14:03 TommyLemon

不好意思 ,是我没有表述清楚,目前使用的是apijson最新版本

<dependency>
            <groupId>com.github.APIJSON</groupId>
            <artifactId>apijson-framework</artifactId>
            <version>LATEST</version>
        </dependency>

在重写SQLConfig的getUserIdKey方法后,insert自动充填会丢失created_by字段

  @Override
            public String getUserIdKey(String database, String schema,String datasource, String table) {
                return "created_by"; // id / userId
            }

我调试了下代码: d6abc230790b6af06c3d15766fca6ee 这块代码只拼接了id,但没处理userId,我不确认这是不是一个bug

chenly1980 avatar Mar 30 '22 00:03 chenly1980

@TommyLemon , 麻烦帮忙确认下这个问题怎么处理

chenly1980 avatar Mar 30 '22 00:03 chenly1980

和 id 一样拼接到 column 上 https://github.com/Tencent/APIJSON/commit/e609c8682cedbb9b39c5cec6b252cda8cfc2cdb4

临时解决办法是开启权限校验(一般也建议开启,APIJSONBoot 系列 Demo 就是默认开启,APIJSONDemo 系列已设置关闭)。 https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server

或者直接依赖 APIJSON 最新源码,取消 Maven 和 Jar 方式依赖。 等后续版本发布也行

TommyLemon avatar Apr 03 '22 15:04 TommyLemon