diff --git a/src/main/java/cn/axzo/pokonyan/common/enums/BaseTypeEnum.java b/src/main/java/cn/axzo/pokonyan/common/enums/BaseTypeEnum.java new file mode 100644 index 0000000..362b7be --- /dev/null +++ b/src/main/java/cn/axzo/pokonyan/common/enums/BaseTypeEnum.java @@ -0,0 +1,10 @@ +package cn.axzo.pokonyan.common.enums; + +/** + * @author tanjie@axzo.cn + * @date 2023/10/13 18:56 + */ +public interface BaseTypeEnum { + + T getValue(); +} diff --git a/src/main/java/cn/axzo/pokonyan/filter/RequestLogHandlerInterceptor.java b/src/main/java/cn/axzo/pokonyan/filter/RequestLogHandlerInterceptor.java index 8019e1a..6fa9620 100644 --- a/src/main/java/cn/axzo/pokonyan/filter/RequestLogHandlerInterceptor.java +++ b/src/main/java/cn/axzo/pokonyan/filter/RequestLogHandlerInterceptor.java @@ -1,6 +1,7 @@ package cn.axzo.pokonyan.filter; import cn.axzo.pokonyan.util.ExceptionUtil; +import cn.axzo.pokonyan.wrapper.BodyReaderHttpServletRequestWrapper; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; @@ -54,7 +55,10 @@ public class RequestLogHandlerInterceptor implements HandlerInterceptor, WebMvcC if (request.getDispatcherType().equals(DispatcherType.ERROR)) { return; } - + if (!(request instanceof BodyReaderHttpServletRequestWrapper)) { + log.warn("print request log error : current request entity not support"); + return; + } String method = request.getMethod(); StringBuffer requestUrl = request.getRequestURL(); diff --git a/src/main/java/cn/axzo/pokonyan/util/EnumUtil.java b/src/main/java/cn/axzo/pokonyan/util/EnumUtil.java new file mode 100644 index 0000000..ac5e1ff --- /dev/null +++ b/src/main/java/cn/axzo/pokonyan/util/EnumUtil.java @@ -0,0 +1,24 @@ +package cn.axzo.pokonyan.util; + +import cn.axzo.pokonyan.common.enums.BaseTypeEnum; + +import java.util.EnumSet; +import java.util.Objects; + +/** + * @author tanjie@axzo.cn + * @date 2023/10/13 18:57 + */ +public class EnumUtil { + + /** + * 枚举匹配value + * @param clazz + * @param type + * @param + * @return + */ + public & BaseTypeEnum> E matchType(Class clazz, Integer value) { + return EnumSet.allOf(clazz).stream().filter(e -> Objects.equals(e.getValue(), value)).findFirst().orElse(null); + } +}