Eps支持路由参数

This commit is contained in:
COOL
2024-07-29 16:18:59 +08:00
parent 6542ac8a7e
commit a4d58a71db
3 changed files with 15 additions and 21 deletions

View File

@@ -6,26 +6,11 @@ import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ClassUtil; import cn.hutool.core.util.ClassUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.cool.core.config.CustomOpenApiResource; import com.cool.core.config.CustomOpenApiResource;
import com.mybatisflex.annotation.Table; import com.mybatisflex.annotation.Table;
import com.tangzc.mybatisflex.autotable.annotation.ColumnDefine; import com.tangzc.mybatisflex.autotable.annotation.ColumnDefine;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
import lombok.Getter; import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -37,6 +22,13 @@ import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo; import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.util.*;
import java.util.stream.Collectors;
/** /**
* 实体信息与路径 * 实体信息与路径
*/ */
@@ -102,8 +94,9 @@ public class CoolEps {
if (StrUtil.isNotEmpty(module)) { if (StrUtil.isNotEmpty(module)) {
String entityName = getEntity(method.getBeanType()); String entityName = getEntity(method.getBeanType());
String methodPath = getMethodUrl(method); String methodPath = getMethodUrl(method);
String escapedMethodPath = methodPath.replace("{", "\\{").replace("}", "\\}");
String prefix = Objects.requireNonNull(getUrl(info)) String prefix = Objects.requireNonNull(getUrl(info))
.replaceFirst("(?s)(.*)" + methodPath, "$1"); .replaceFirst("(?s)(.*)" + escapedMethodPath, "$1");
Dict result = Dict.create(); Dict result = Dict.create();
int type = 0; int type = 0;
if (prefix.startsWith("/admin")) { if (prefix.startsWith("/admin")) {

View File

@@ -3,6 +3,8 @@ package com.cool.core.plugin.config;
import com.cool.core.exception.CoolPreconditions; import com.cool.core.exception.CoolPreconditions;
import com.cool.core.util.AnnotationUtils; import com.cool.core.util.AnnotationUtils;
import com.cool.core.util.CompilerUtils; import com.cool.core.util.CompilerUtils;
import lombok.extern.slf4j.Slf4j;
import java.net.URL; import java.net.URL;
import java.net.URLClassLoader; import java.net.URLClassLoader;
import java.time.Duration; import java.time.Duration;
@@ -11,7 +13,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.jar.JarEntry; import java.util.jar.JarEntry;
import lombok.extern.slf4j.Slf4j;
/** /**
* * 自定义类加载器 * * 自定义类加载器
@@ -125,4 +126,4 @@ public class DynamicJarClassLoader extends URLClassLoader {
} }
}).start(); }).start();
} }
} }

View File

@@ -1,7 +1,5 @@
package com.cool.modules.dict.controller.admin; package com.cool.modules.dict.controller.admin;
import static com.cool.modules.dict.entity.table.DictTypeEntityTableDef.DICT_TYPE_ENTITY;
import cn.hutool.json.JSONObject; import cn.hutool.json.JSONObject;
import com.cool.core.annotation.CoolRestController; import com.cool.core.annotation.CoolRestController;
import com.cool.core.base.BaseController; import com.cool.core.base.BaseController;
@@ -10,6 +8,8 @@ import com.cool.modules.dict.service.DictTypeService;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import static com.cool.modules.dict.entity.table.DictTypeEntityTableDef.DICT_TYPE_ENTITY;
/** /**
* 字典类型 * 字典类型
*/ */
@@ -22,4 +22,4 @@ public class AdminDictTypeController extends BaseController<DictTypeService, Dic
setPageOption( setPageOption(
createOp().select(DICT_TYPE_ENTITY.ID, DICT_TYPE_ENTITY.KEY, DICT_TYPE_ENTITY.NAME)); createOp().select(DICT_TYPE_ENTITY.ID, DICT_TYPE_ENTITY.KEY, DICT_TYPE_ENTITY.NAME));
} }
} }