Commit febf1e56 by inrgihc

测试问题修复

parent a47b48d2
...@@ -3,6 +3,7 @@ package com.gitee.sqlrest.core.exec; ...@@ -3,6 +3,7 @@ package com.gitee.sqlrest.core.exec;
import cn.hutool.core.exceptions.ExceptionUtil; import cn.hutool.core.exceptions.ExceptionUtil;
import com.gitee.sqlrest.common.dto.ItemParam; import com.gitee.sqlrest.common.dto.ItemParam;
import com.gitee.sqlrest.common.dto.ResultEntity; import com.gitee.sqlrest.common.dto.ResultEntity;
import com.gitee.sqlrest.common.enums.HttpMethodEnum;
import com.gitee.sqlrest.common.enums.ParamLocationEnum; import com.gitee.sqlrest.common.enums.ParamLocationEnum;
import com.gitee.sqlrest.common.enums.ParamTypeEnum; import com.gitee.sqlrest.common.enums.ParamTypeEnum;
import com.gitee.sqlrest.common.exception.ResponseErrorCode; import com.gitee.sqlrest.common.exception.ResponseErrorCode;
...@@ -165,12 +166,15 @@ public class ApiExecuteService { ...@@ -165,12 +166,15 @@ public class ApiExecuteService {
} }
public Map<String, Object> getRequestBodyMap(HttpServletRequest request) throws IOException { public Map<String, Object> getRequestBodyMap(HttpServletRequest request) throws IOException {
MediaType contentType = MediaType.parseMediaType(request.getContentType()); HttpMethodEnum methodEnum = HttpMethodEnum.valueOf(request.getMethod());
Charset charset = (contentType != null && contentType.getCharset() != null ? if (methodEnum.isHasBody()) {
contentType.getCharset() : StandardCharsets.UTF_8); MediaType contentType = MediaType.parseMediaType(request.getContentType());
for (HttpRequestBodyExtractor bodyExtractor : requestBodyExtractors) { Charset charset = (contentType != null && contentType.getCharset() != null ?
if (bodyExtractor.support(contentType)) { contentType.getCharset() : StandardCharsets.UTF_8);
return bodyExtractor.read(charset, request.getInputStream()); for (HttpRequestBodyExtractor bodyExtractor : requestBodyExtractors) {
if (bodyExtractor.support(contentType)) {
return bodyExtractor.read(charset, request.getInputStream());
}
} }
} }
return Collections.emptyMap(); return Collections.emptyMap();
......
...@@ -96,7 +96,7 @@ public class ScriptExecutorService extends AbstractExecutorEngine { ...@@ -96,7 +96,7 @@ public class ScriptExecutorService extends AbstractExecutorEngine {
Binding binding = new Binding(); Binding binding = new Binding();
params.forEach((k, v) -> binding.setProperty(k, v)); params.forEach((k, v) -> binding.setProperty(k, v));
binding.setProperty(getModuleVarName(dbModule.getClass()), dbModule); binding.setProperty(getModuleVarName(dbModule.getClass()), dbModule);
binding.setProperty(getModuleVarName(entity.getClass()), envModule); binding.setProperty(getModuleVarName(envModule.getClass()), envModule);
GroovyShell groovyShell = new GroovyShell(binding); GroovyShell groovyShell = new GroovyShell(binding);
try { try {
......
package com.gitee.sqlrest.core.exec.module; package com.gitee.sqlrest.core.exec.module;
import cn.hutool.core.util.NumberUtil;
import com.gitee.sqlrest.common.consts.Constants;
import com.gitee.sqlrest.common.enums.NamingStrategyEnum; import com.gitee.sqlrest.common.enums.NamingStrategyEnum;
import com.gitee.sqlrest.common.enums.ProductTypeEnum; import com.gitee.sqlrest.common.enums.ProductTypeEnum;
import com.gitee.sqlrest.core.exec.annotation.Comment; import com.gitee.sqlrest.core.exec.annotation.Comment;
...@@ -19,7 +17,6 @@ import java.util.Arrays; ...@@ -19,7 +17,6 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.Function; import java.util.function.Function;
import java.util.regex.Pattern;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.sql.DataSource; import javax.sql.DataSource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -34,9 +31,6 @@ import org.springframework.jdbc.support.GeneratedKeyHolder; ...@@ -34,9 +31,6 @@ import org.springframework.jdbc.support.GeneratedKeyHolder;
@Module("db") @Module("db")
public class DbVarModule { public class DbVarModule {
private static Pattern REPLACE_ORDER_BY = Pattern
.compile("order\\s+by\\s+[^,\\s]+(\\s+asc|\\s+desc)?(\\s*,\\s*[^,\\s]+(\\s+asc|\\s+desc)?)*",
Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);
private static Configuration cfg = new Configuration(); private static Configuration cfg = new Configuration();
private JdbcTemplate jdbcTemplate; private JdbcTemplate jdbcTemplate;
...@@ -77,8 +71,7 @@ public class DbVarModule { ...@@ -77,8 +71,7 @@ public class DbVarModule {
log.info("Enter selectCount() function, SQL:{},params:{}", sqlOrXml, params); log.info("Enter selectCount() function, SQL:{},params:{}", sqlOrXml, params);
SqlTemplate template = cfg.getTemplate(sqlOrXml); SqlTemplate template = cfg.getTemplate(sqlOrXml);
SqlMeta sqlMeta = template.process(params); SqlMeta sqlMeta = template.process(params);
String sql = REPLACE_ORDER_BY.matcher(sqlMeta.getSql()).replaceAll(""); String countSql = String.format("select count(*) from (%s) a", sqlMeta.getSql());
String countSql = String.format("select count(*) from (%s) a", sql);
return jdbcTemplate.queryForObject(countSql, Integer.class, sqlMeta.getParameter().toArray()); return jdbcTemplate.queryForObject(countSql, Integer.class, sqlMeta.getParameter().toArray());
} }
......
...@@ -26,6 +26,14 @@ public class FirewallFilterService { ...@@ -26,6 +26,14 @@ public class FirewallFilterService {
private FirewallRulesDao firewallRulesDao; private FirewallRulesDao firewallRulesDao;
@PostConstruct @PostConstruct
public void init() {
try {
refresh();
} catch (Exception e) {
log.warn("load firewall rules failed:{}", e.getMessage());
}
}
public void refresh() { public void refresh() {
this.firewallRules = firewallRulesDao.getFirewallRules(); this.firewallRules = firewallRulesDao.getFirewallRules();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment