save code
This commit is contained in:
parent
3c921b3b01
commit
a26af73e44
@ -11,8 +11,13 @@ 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;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
@ -24,9 +29,11 @@ import java.util.Map;
|
||||
// 初始化请求
|
||||
@WebFilter("/*") // 所有接口请求均会触发次过滤器
|
||||
@Order(Ordered.REQUEST_ID) // 足够小, 保证最先执行
|
||||
@Component
|
||||
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE, proxyMode = ScopedProxyMode.TARGET_CLASS)
|
||||
public class RequestInitFilter extends HttpFilter {
|
||||
@Autowired
|
||||
private RuntimeContext runtimeContext;
|
||||
private ObjectFactory<RuntimeContext> requestScopedBeanFactory;
|
||||
|
||||
@Override
|
||||
public void init(FilterConfig filterConfig) throws ServletException {
|
||||
@ -38,7 +45,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 = requestScopedBeanFactory.getObject();
|
||||
setBaseInfo(httpServletRequest, runtimeContext); // 设置基础信息
|
||||
setRequestQuery(runtimeContext.getRequestInfo()); // 设置请求query信息
|
||||
setRequestBody(runtimeContext.getRequestInfo()); // 设置请求Body
|
||||
|
Loading…
x
Reference in New Issue
Block a user