From ff5d45a8ae1294ce0ebd62790d025cea97a03d4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8C=B6=E6=B8=85=E6=AC=A2?= Date: Thu, 5 Jun 2025 22:01:27 +0800 Subject: [PATCH] fix version error --- pom.xml | 22 ++++++++++++++----- src/main/java/cn/zhangdeman/Main.java | 1 - .../java/cn/zhangdeman/RuntimeContext.java | 5 +---- .../zhangdeman/filter/RequestInitFilter.java | 17 ++++++-------- 4 files changed, 24 insertions(+), 21 deletions(-) diff --git a/pom.xml b/pom.xml index bf3b90d..7df0a8b 100644 --- a/pom.xml +++ b/pom.xml @@ -12,6 +12,7 @@ 21 21 UTF-8 + debug @@ -24,7 +25,8 @@ org.projectlombok lombok - 1.18.30 + 1.18.38 + provided org.springframework @@ -36,11 +38,6 @@ slf4j-api 2.0.17 - - org.slf4j - slf4j-log4j12 - 1.7.30 - com.fasterxml.jackson.core @@ -64,4 +61,17 @@ + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.11.0 + + 21 + + + + \ No newline at end of file diff --git a/src/main/java/cn/zhangdeman/Main.java b/src/main/java/cn/zhangdeman/Main.java index 2b54e55..a42f7d9 100644 --- a/src/main/java/cn/zhangdeman/Main.java +++ b/src/main/java/cn/zhangdeman/Main.java @@ -3,6 +3,5 @@ package cn.zhangdeman; public class Main { public static void main(String[] args) { - } } \ No newline at end of file diff --git a/src/main/java/cn/zhangdeman/RuntimeContext.java b/src/main/java/cn/zhangdeman/RuntimeContext.java index 5063ec3..76770dd 100644 --- a/src/main/java/cn/zhangdeman/RuntimeContext.java +++ b/src/main/java/cn/zhangdeman/RuntimeContext.java @@ -7,7 +7,6 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.Getter; import lombok.Setter; -import org.springframework.web.context.annotation.RequestScope; import java.io.Serializable; import java.util.Map; @@ -33,8 +32,6 @@ public class RuntimeContext implements Serializable { private Long startTimeStamp; // 开始请求时间 @JsonProperty(RecordField.CONTEXT_DATA) private Map logData; // 本条日志的上下文信息 - @JsonProperty(RecordField.RESPONSE_DATA) - private Object responseData; // 响应数据 @JsonProperty(RecordField.REQUEST_INFO) private Request requestInfo;// 请求信息 @JsonProperty(RecordField.RESPONSE_INFO) @@ -42,7 +39,7 @@ public class RuntimeContext implements Serializable { // 序列化 @Override - public String toString() throws RuntimeException { + public String toString() { ObjectMapper mapper = new ObjectMapper(); try { return mapper.writeValueAsString(this); diff --git a/src/main/java/cn/zhangdeman/filter/RequestInitFilter.java b/src/main/java/cn/zhangdeman/filter/RequestInitFilter.java index 2c63787..5636f2e 100644 --- a/src/main/java/cn/zhangdeman/filter/RequestInitFilter.java +++ b/src/main/java/cn/zhangdeman/filter/RequestInitFilter.java @@ -11,8 +11,6 @@ import jakarta.servlet.http.Cookie; import jakarta.servlet.http.HttpFilter; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; -import org.springframework.beans.factory.ObjectFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.ScopedProxyMode; @@ -29,8 +27,6 @@ import java.util.Map; // 初始化请求 @WebFilter("/*") // 所有接口请求均会触发次过滤器 @Order(Ordered.REQUEST_ID) // 足够小, 保证最先执行 -@Component -@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE, proxyMode = ScopedProxyMode.TARGET_CLASS) public class RequestInitFilter extends HttpFilter { @Override @@ -42,21 +38,21 @@ public class RequestInitFilter extends HttpFilter { } @Override - public void doFilter(HttpServletRequest httpServletRequest, HttpServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { - RuntimeContext runtimeContext = new RuntimeContext(); - setBaseInfo(httpServletRequest, runtimeContext); // 设置基础信息 + public void doFilter(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws IOException, ServletException { + RuntimeContext runtimeContext = new RuntimeContext(); // 运行时上下文数据 + setBaseInfo(httpServletRequest,httpServletResponse, runtimeContext); // 设置基础信息 setRequestQuery(runtimeContext.getRequestInfo()); // 设置请求query信息 setRequestBody(runtimeContext.getRequestInfo()); // 设置请求Body setRequestHeaderAndCookie(runtimeContext.getRequestInfo()); // 填充请求信息: header + cookie setRequestId(runtimeContext); // 设置请求ID, 每次请求需要重新生成 httpServletRequest.setAttribute(RecordField.RUNTIME_THREAD_CONTEXT, runtimeContext); // 记录到请求上下文中 // 继续向后执行 - filterChain.doFilter(httpServletRequest, servletResponse); + filterChain.doFilter(httpServletRequest, httpServletResponse); System.out.println("init request do filter 请求执行完成"); } // 设置基础信息 - private void setBaseInfo(HttpServletRequest httpServletRequest, RuntimeContext runtimeContext) { + private void setBaseInfo(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, RuntimeContext runtimeContext) { // request 信息 Request request = new Request(); request.setHttpServletRequest(httpServletRequest); @@ -64,13 +60,14 @@ public class RequestInitFilter extends HttpFilter { request.setRequestMethod(httpServletRequest.getMethod()); // 请求类型 request.setRequestContentType(httpServletRequest.getContentType()); // 请求类型 request.setRequestUri(httpServletRequest.getRequestURI()); // 请求uri + runtimeContext.setRequestInfo(request); // 请求信息 // server 信息 runtimeContext.setServerIp(httpServletRequest.getLocalAddr()); // 服务器IP runtimeContext.setServerHostname(httpServletRequest.getLocalName()); // 服务器名称 - runtimeContext.setRequestInfo(request); // 请求信息 runtimeContext.setStartTimeStamp(System.currentTimeMillis()); // 开始请求时间 // 响应信息 Response response = new Response(); + response.setHttpServletResponse(httpServletResponse); response.setHeader(new HashMap<>()); response.setCookie(new HashMap<>()); runtimeContext.setResponseInfo(response); // 响应信息