save code

This commit is contained in:
白茶清欢 2025-06-05 18:56:08 +08:00
parent c05086852d
commit 3c921b3b01
3 changed files with 12 additions and 1 deletions

View File

@ -57,6 +57,11 @@
<artifactId>jackson-annotations</artifactId>
<version>2.19.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.4.7-SNAPSHOT</version>
</dependency>
</dependencies>
</project>

View File

@ -7,6 +7,7 @@ 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;
@ -15,6 +16,7 @@ import java.util.Map;
@Getter
@Setter
@JsonIgnoreProperties(ignoreUnknown = true) // 忽略未知属性字段
@RequestScope
public class RuntimeContext implements Serializable {
@JsonProperty(RecordField.REQUEST_ID)
private String requestId; // 本次请求request id

View File

@ -11,6 +11,7 @@ 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.annotation.Autowired;
import org.springframework.core.annotation.Order;
import java.io.IOException;
@ -24,6 +25,9 @@ import java.util.Map;
@WebFilter("/*") // 所有接口请求均会触发次过滤器
@Order(Ordered.REQUEST_ID) // 足够小, 保证最先执行
public class RequestInitFilter extends HttpFilter {
@Autowired
private RuntimeContext runtimeContext;
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@ -34,7 +38,7 @@ public class RequestInitFilter extends HttpFilter {
@Override
public void doFilter(HttpServletRequest httpServletRequest, HttpServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
RuntimeContext runtimeContext = new RuntimeContext();
// RuntimeContext runtimeContext = new RuntimeContext();
setBaseInfo(httpServletRequest, runtimeContext); // 设置基础信息
setRequestQuery(runtimeContext.getRequestInfo()); // 设置请求query信息
setRequestBody(runtimeContext.getRequestInfo()); // 设置请求Body