Skip to content

Commit 53b17ed

Browse files
committed
自动校验参数:解决自定义代码包含 ":" 冒号时可能误判不是语言名称的字符串,导致报错找不到执行引擎
1 parent 1b7c6f1 commit 53b17ed

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

APIJSONORM/src/main/java/apijson/orm/AbstractVerifier.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1237,7 +1237,7 @@ public static <T extends Object> JSONObject parse(@NotNull final RequestMethod m
12371237
String ifStr = (String) _if;
12381238
int ind = ifStr.indexOf(":");
12391239
String lang = ind < 0 ? null : ifStr.substring(0, ind);
1240-
ScriptEngine engine = getScriptEngine(lang);
1240+
ScriptEngine engine = getScriptEngine(StringUtil.isName(lang) ? lang : null);
12411241
engine.eval(preCode + "\n" + _if);
12421242
}
12431243
else {
@@ -1252,7 +1252,7 @@ public static <T extends Object> JSONObject parse(@NotNull final RequestMethod m
12521252
if (v instanceof String) {
12531253
int ind = k.indexOf(":");
12541254
String lang = ind < 0 ? null : k.substring(0, ind);
1255-
ScriptEngine engine = getScriptEngine(lang);
1255+
ScriptEngine engine = getScriptEngine(StringUtil.isName(lang) ? lang : null);
12561256
k = ind < 0 ? k : k.substring(ind + 1);
12571257

12581258
boolean isElse = StringUtil.isEmpty(k, false); // 其它直接报错,不允许传 StringUtil.isEmpty(k, true) || "ELSE".equals(k);

0 commit comments

Comments
 (0)