Spring 启动过滤器无法获取自定义请求标头



我试图在spring过滤器中从客户端获得自定义请求标头但是,即使我记录了所有的标题,我仍然找不到userid;头

这是我的滤镜,效果很好

@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
AuthRequestWrapper authRequestWrapper = new AuthRequestWrapper((HttpServletRequest) servletRequest);
HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
Enumeration<String> headerNames = httpRequest.getHeaderNames();
if (headerNames != null) {
while (headerNames.hasMoreElements()) {
String name = headerNames.nextElement();
Syssem.out.println("Header: " + name + " value:" + httpRequest.getHeader(name));
}
}
}

在客户端,我执行这样的请求:

let credentials: RequestCredentials = "omit"
let mode: RequestMode = 'cors'
let headers: HeadersInit = {
"Content-Type": "application/json",
"Access-Control-Allow-Origin": "http://localhost:8080",
"userId":"ABCD"
}
const fetchOption = {
method: 'GET', // *GET, POST, PUT, DELETE, etc.
credentials: credentials, // include, *same-origin, omit
headers: headers,
mode: mode, // no-cors, *cors, same-origin
}
let responseObj = await (await fetch(finalUrl,fetchOption)).json()

我仍然可以在Spring Controller中获得请求头。

尝试标头的另一个键。例如:x-access-token: {value}

最新更新