Skip to content

Commit 4e0978b

Browse files
committed
解决全局 datasource, namespace, catalog 未用于参数校验
1 parent c74b0f3 commit 4e0978b

7 files changed

Lines changed: 35 additions & 27 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>apijson.framework</groupId>
77
<artifactId>apijson-framework</artifactId>
8-
<version>8.1.5</version>
8+
<version>8.1.6</version>
99
<packaging>jar</packaging>
1010

1111
<name>APIJSONFramework</name>

src/main/java/apijson/framework/APIJSONController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,7 @@ public String router(String method, String tag, Map<String, String> params, Stri
610610
}
611611

612612
//M clone 浅拷贝没用,Structure.parse 会导致 structure 里面被清空,第二次从缓存里取到的就是 {}
613-
verifier.verifyRequest(requestMethod, "", JSON.createJSONObject(target), rawReq, 0, null, null);
613+
verifier.verifyRequest(requestMethod, "", JSON.createJSONObject(target), rawReq, 0, null, null, null, null, null);
614614
}
615615

616616
M apijsonReq = JSON.parseObject(apijson);

src/main/java/apijson/framework/APIJSONSQLConfig.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,32 +58,34 @@ public class APIJSONSQLConfig<T, M extends Map<String, Object>, L extends List<O
5858

5959
@Override
6060
public SQLConfig<Long, LinkedHashMap<String, Object>, List<Object>> getSQLConfig(
61-
RequestMethod method, String database, String schema, String datasource, String table) {
61+
RequestMethod method, String database, String datasource, String namespace, String catalog, String schema, String table) {
6262
SQLConfig<Long, LinkedHashMap<String, Object>, List<Object>> config = APIJSONApplication.createSQLConfig();
6363
config.setMethod(method);
6464
config.setDatabase(database);
6565
config.setDatasource(datasource);
66+
config.setNamespace(namespace);
67+
config.setCatalog(catalog);
6668
config.setSchema(schema);
6769
config.setTable(table);
6870
return config;
6971
}
7072

7173
//取消注释来实现自定义各个表的主键名
7274
// @Override
73-
// public String getIdKey(String database, String schema, String datasource, String table) {
75+
// public String getIdKey(String database, String datasource, String namespace, String catalog, String schema, String table) {
7476
// return StringUtil.firstCase(table + "Id"); // userId, comemntId ...
7577
// // return StringUtil.toLowerCase(t) + "_id"; // user_id, comemnt_id ...
7678
// // return StringUtil.toUpperCase(t) + "_ID"; // USER_ID, COMMENT_ID ...
7779
// }
7880

7981
@Override
80-
public String getUserIdKey(String database, String schema, String datasource, String table) {
82+
public String getUserIdKey(String database, String datasource, String namespace, String catalog, String schema, String table) {
8183
return USER_.equals(table) || PRIVACY_.equals(table) ? ID : USER_ID; // id / userId
8284
}
8385

8486
//取消注释来实现数据库自增 id
8587
// @Override
86-
// public Object newId(RequestMethod method, String database, String schema, String datasource, String table) {
88+
// public Object newId(RequestMethod method, String database, String datasource, String namespace, String catalog, String schema, String table) {
8789
// return null; // return null 则不生成 id,一般用于数据库自增 id
8890
// }
8991
};
@@ -399,12 +401,12 @@ public String gainSQLSchema() {
399401

400402
@Override
401403
public String getIdKey() {
402-
return SIMPLE_CALLBACK.getIdKey(getDatabase(), getSchema(), getDatasource(), getTable());
404+
return SIMPLE_CALLBACK.getIdKey(getDatabase(), getDatasource(), getNamespace(), getCatalog(), getSchema(), getTable());
403405
}
404406

405407
@Override
406408
public String getUserIdKey() {
407-
return SIMPLE_CALLBACK.getUserIdKey(getDatabase(), getSchema(), getDatasource(), getTable());
409+
return SIMPLE_CALLBACK.getUserIdKey(getDatabase(), getDatasource(), getNamespace(), getCatalog(), getSchema(), getTable());
408410
}
409411

410412

src/main/java/apijson/framework/APIJSONVerifier.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -853,19 +853,19 @@ public static <T> Visitor<T> getVisitor(HttpSession session) {
853853

854854

855855
@Override
856-
public String getIdKey(String database, String schema, String datasource, String table) {
857-
return APIJSONSQLConfig.SIMPLE_CALLBACK.getIdKey(database, schema, datasource, table);
856+
public String getIdKey(String database, String datasource, String namespace, String catalog, String schema, String table) {
857+
return APIJSONSQLConfig.SIMPLE_CALLBACK.getIdKey(database, datasource, namespace, catalog, schema, table);
858858
}
859859

860860
@Override
861-
public String getUserIdKey(String database, String schema, String datasource, String table) {
862-
return APIJSONSQLConfig.SIMPLE_CALLBACK.getUserIdKey(database, schema, datasource, table);
861+
public String getUserIdKey(String database, String datasource, String namespace, String catalog, String schema, String table) {
862+
return APIJSONSQLConfig.SIMPLE_CALLBACK.getUserIdKey(database, datasource, namespace, catalog, schema, table);
863863
}
864864

865865
@SuppressWarnings("unchecked")
866866
@Override
867-
public T newId(RequestMethod method, String database, String schema, String datasource, String table) {
868-
return (T) APIJSONSQLConfig.SIMPLE_CALLBACK.newId(method, database, schema, datasource, table);
867+
public T newId(RequestMethod method, String database, String datasource, String namespace, String catalog, String schema, String table) {
868+
return (T) APIJSONSQLConfig.SIMPLE_CALLBACK.newId(method, database, datasource, namespace, catalog, schema, table);
869869
}
870870

871871
}

src/main/java/apijson/framework/javax/APIJSONController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,7 @@ public String router(String method, String tag, Map<String, String> params, Stri
610610
}
611611

612612
//M clone 浅拷贝没用,Structure.parse 会导致 structure 里面被清空,第二次从缓存里取到的就是 {}
613-
verifier.verifyRequest(requestMethod, "", JSON.createJSONObject(target), rawReq, 0, null, null);
613+
verifier.verifyRequest(requestMethod, "", JSON.createJSONObject(target), rawReq, 0, null, null, null, null, null);
614614
}
615615

616616
M apijsonReq = JSON.parseObject(apijson);

src/main/java/apijson/framework/javax/APIJSONSQLConfig.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,32 +51,38 @@ public class APIJSONSQLConfig<T, M extends Map<String, Object>, L extends List<O
5151

5252
@Override
5353
public SQLConfig<Long, LinkedHashMap<String, Object>, List<Object>> getSQLConfig(
54-
RequestMethod method, String database, String schema, String datasource, String table) {
54+
RequestMethod method, String database, String datasource, String namespace, String catalog
55+
, String schema, String table) {
5556
SQLConfig<Long, LinkedHashMap<String, Object>, List<Object>> config = APIJSONApplication.createSQLConfig();
5657
config.setMethod(method);
5758
config.setDatabase(database);
5859
config.setDatasource(datasource);
60+
config.setNamespace(namespace);
61+
config.setCatalog(catalog);
5962
config.setSchema(schema);
6063
config.setTable(table);
6164
return config;
6265
}
6366

6467
//取消注释来实现自定义各个表的主键名
6568
// @Override
66-
// public String getIdKey(String database, String schema, String datasource, String table) {
69+
// public String getIdKey(String database, String datasource, String namespace
70+
// , String catalog, String schema, String table) {
6771
// return StringUtil.firstCase(table + "Id"); // userId, comemntId ...
6872
// // return StringUtil.toLowerCase(t) + "_id"; // user_id, comemnt_id ...
6973
// // return StringUtil.toUpperCase(t) + "_ID"; // USER_ID, COMMENT_ID ...
7074
// }
7175

7276
@Override
73-
public String getUserIdKey(String database, String schema, String datasource, String table) {
77+
public String getUserIdKey(String database, String datasource, String namespace, String catalog
78+
, String schema, String table) {
7479
return USER_.equals(table) || PRIVACY_.equals(table) ? ID : USER_ID; // id / userId
7580
}
7681

7782
//取消注释来实现数据库自增 id
7883
// @Override
79-
// public Object newId(RequestMethod method, String database, String schema, String datasource, String table) {
84+
// public Object newId(RequestMethod method, String database, String datasource, String namespace
85+
// , String catalog, String schema, String table) {
8086
// return null; // return null 则不生成 id,一般用于数据库自增 id
8187
// }
8288
};
@@ -392,12 +398,12 @@ public String gainSQLSchema() {
392398

393399
@Override
394400
public String getIdKey() {
395-
return SIMPLE_CALLBACK.getIdKey(getDatabase(), getSchema(), getDatasource(), getTable());
401+
return SIMPLE_CALLBACK.getIdKey(getDatabase(), getDatasource(), getNamespace(), getCatalog(), getSchema(), getTable());
396402
}
397403

398404
@Override
399405
public String getUserIdKey() {
400-
return SIMPLE_CALLBACK.getUserIdKey(getDatabase(), getSchema(), getDatasource(), getTable());
406+
return SIMPLE_CALLBACK.getUserIdKey(getDatabase(), getDatasource(), getNamespace(), getCatalog(), getSchema(), getTable());
401407
}
402408

403409

src/main/java/apijson/framework/javax/APIJSONVerifier.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -853,19 +853,19 @@ public static <T> Visitor<T> getVisitor(HttpSession session) {
853853

854854

855855
@Override
856-
public String getIdKey(String database, String schema, String datasource, String table) {
857-
return APIJSONSQLConfig.SIMPLE_CALLBACK.getIdKey(database, schema, datasource, table);
856+
public String getIdKey(String database, String datasource, String namespace, String catalog, String schema, String table) {
857+
return APIJSONSQLConfig.SIMPLE_CALLBACK.getIdKey(database, datasource, namespace, catalog, schema, table);
858858
}
859859

860860
@Override
861-
public String getUserIdKey(String database, String schema, String datasource, String table) {
862-
return APIJSONSQLConfig.SIMPLE_CALLBACK.getUserIdKey(database, schema, datasource, table);
861+
public String getUserIdKey(String database, String datasource, String namespace, String catalog, String schema, String table) {
862+
return APIJSONSQLConfig.SIMPLE_CALLBACK.getUserIdKey(database, datasource, namespace, catalog, schema, table);
863863
}
864864

865865
@SuppressWarnings("unchecked")
866866
@Override
867-
public T newId(RequestMethod method, String database, String schema, String datasource, String table) {
868-
return (T) APIJSONSQLConfig.SIMPLE_CALLBACK.newId(method, database, schema, datasource, table);
867+
public T newId(RequestMethod method, String database, String datasource, String namespace, String catalog, String schema, String table) {
868+
return (T) APIJSONSQLConfig.SIMPLE_CALLBACK.newId(method, database, datasource, namespace, catalog, schema, table);
869869
}
870870

871871
}

0 commit comments

Comments
 (0)