Skip to content

Commit 515b237

Browse files
committed
Java:MultiDatabase 取消 增删改查统一入口 的注释,更新 APIAuto
1 parent 8c5227d commit 515b237

File tree

2 files changed

+37
-29
lines changed

2 files changed

+37
-29
lines changed

APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/java/apijson/boot/DemoController.java

+24-24
Original file line numberDiff line numberDiff line change
@@ -113,19 +113,19 @@ public String getRequestURL() {
113113
//通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
114114

115115

116-
// /**增删改查统一入口,这个一个方法可替代以下 7 个方法,牺牲一些路由解析性能来提升一点开发效率
117-
// * @param method
118-
// * @param tag
119-
// * @param params
120-
// * @param request
121-
// * @param session
122-
// * @return
123-
// */
124-
// @PostMapping(value = "crud/{method}") // 直接 {method} 或 apijson/{method} 会和内置网页的路由有冲突
125-
// @Override
126-
// public String crud(@PathVariable String method, @RequestBody String request, HttpSession session) {
127-
// return super.crud(method, request, session);
128-
// }
116+
/**增删改查统一入口,这个一个方法可替代以下 7 个方法,牺牲一些路由解析性能来提升一点开发效率
117+
* @param method
118+
* @param tag
119+
* @param params
120+
* @param request
121+
* @param session
122+
* @return
123+
*/
124+
@PostMapping(value = "crud/{method}") // 直接 {method} 或 apijson/{method} 会和内置网页的路由有冲突
125+
@Override
126+
public String crud(@PathVariable String method, @RequestBody String request, HttpSession session) {
127+
return super.crud(method, request, session);
128+
}
129129

130130
// 增删改查统一的类 RESTful API 入口,牺牲一些路由解析性能来提升一点开发效率
131131
@PostMapping("router/{method}/{tag}")
@@ -222,17 +222,17 @@ public String delete(@RequestBody String request, HttpSession session) {
222222
//以上接口对应的简版接口,格式为 {method}/{tag}?format=true&@explain=true.. <<<<<<<<<<<<<<<<<<<<<<<<<
223223

224224

225-
// /**增删改查统一入口,这个一个方法可替代以下 7 个方法,牺牲一些路由解析性能来提升一点开发效率
226-
// * @param request 只用String,避免encode后未decode
227-
// * @param session
228-
// * @return
229-
// * @see {@link RequestMethod#DELETE}
230-
// */
231-
// @PostMapping("crud/{method}/{tag}") // 直接 {method}/{tag} 或 apijson/{method}/{tag} 会和内置网页的路由有冲突
232-
// @Override
233-
// public String crudByTag(@PathVariable String method, @PathVariable String tag, @RequestParam Map<String, String> params, @RequestBody String request, HttpSession session) {
234-
// return super.crudByTag(method, tag, params, request, session);
235-
// }
225+
/**增删改查统一入口,这个一个方法可替代以下 7 个方法,牺牲一些路由解析性能来提升一点开发效率
226+
* @param request 只用String,避免encode后未decode
227+
* @param session
228+
* @return
229+
* @see {@link RequestMethod#DELETE}
230+
*/
231+
@PostMapping("crud/{method}/{tag}") // 直接 {method}/{tag} 或 apijson/{method}/{tag} 会和内置网页的路由有冲突
232+
@Override
233+
public String crudByTag(@PathVariable String method, @PathVariable String tag, @RequestParam Map<String, String> params, @RequestBody String request, HttpSession session) {
234+
return super.crudByTag(method, tag, params, request, session);
235+
}
236236

237237
/**获取
238238
* @param request 只用String,避免encode后未decode

APIJSON-Java-Server/APIJSONBoot-MultiDataSource/src/main/resources/static/js/main.js

+13-5
Original file line numberDiff line numberDiff line change
@@ -1784,8 +1784,9 @@
17841784

17851785
var config = vRandom.value;
17861786
const mapReq = {};
1787-
var mustKeysStr = "";
1787+
const mustKeys = [];
17881788
const typeObj = {};
1789+
const refuseKeys = [];
17891790

17901791
if (isReleaseRESTful) {
17911792
var mapReq2 = {}
@@ -1821,14 +1822,21 @@
18211822
mapReq[k] = v;
18221823
mapReq2[k] = v;
18231824

1824-
mustKeysStr += (i <= 0 ? '' : ',') + k;
1825+
// 智能判断 count, @key 等
1826+
if (k.startsWith('@') || k.endsWith('[].count') || k.endsWith('[].query') || ['format', 'version'].indexOf(k) >= 0) {
1827+
refuseKeys.push('!' + k);
1828+
}
1829+
else {
1830+
mustKeys.push(k);
1831+
}
18251832

18261833
var t = JSONResponse.getType(v);
18271834
typeObj[k] = t == 'integer' ? 'NUMBER' : (t == 'number' ? 'DECIMAL' : t.toUpperCase());
18281835

18291836
newCfg += (i <= 0 ? '' : '\n') + k + ': ' + cfgLine.substring(ind+2).trim();
18301837
}
18311838

1839+
refuseKeys.push('!');
18321840
config = newCfg;
18331841
}
18341842

@@ -1941,7 +1949,7 @@
19411949
}
19421950

19431951
if (isReleaseRESTful) {
1944-
var structure = {"MUST": mustKeysStr, "TYPE": typeObj, "REFUSE": "!"}; // TODO 智能判断 count, @key 等
1952+
var structure = {"MUST": mustKeys.join(), "TYPE": typeObj, "REFUSE": refuseKeys.join()};
19451953

19461954
var reqObj = {
19471955
format: false,
@@ -1955,11 +1963,11 @@
19551963
};
19561964

19571965
App.request(true, REQUEST_TYPE_JSON, baseUrl + '/post', reqObj, {}, function (url, res, err) {
1958-
var reqStr = JSON.stringify(reqObj, null, ' ');
19591966
if (res.data != null && res.data.Request != null && res.data.Request.code == CODE_SUCCESS) {
1960-
alert('已自动生成并上传 Request 表校验规则配置:\n' + reqStr)
1967+
alert('已自动生成并上传 Request 表校验规则配置:\n' + JSON.stringify(reqObj.Request, null, ' '))
19611968
}
19621969
else {
1970+
var reqStr = JSON.stringify(reqObj, null, ' ');
19631971
console.log('已自动生成,但上传以下 Request 表校验规则配置失败,可能需要手动加表记录:\nPOST ' + baseUrl + '/post' + '\n' + reqStr)
19641972
alert('已自动生成,但上传以下 Request 表校验规则配置失败,可能需要手动加表记录,如未自动复制可在控制台复制:\n' + reqStr)
19651973
navigator.clipboard.writeText(reqStr);

0 commit comments

Comments
 (0)