我需要查看通过我的Spring Boot应用程序的所有请求的主机头是什么。我尝试记录所有请求标头,但似乎无法记录主机标头。
发布于 2020-09-03 20:51:19
创建一个筛选器,您将能够看到每个可用的标题。下面是一个示例代码:
@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class RequestFilter implements Filter {
public RequestFilter() {}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletRequest httpRequest = (HttpServletRequest) request;
Enumeration<String> headerNames = httpRequest.getHeaderNames(); //print this to see all headers
httpRequest.getHeader("host"); //returns the host header
chain.doFilter(req, res);
}
@Override
public void init(FilterConfig filterConfig) {}
@Override
public void destroy() {}
}发布于 2020-08-21 22:49:02
打印所有标题的示例代码。
@GetMapping("/headers")
public String getHeaders(@RequestHeader Map<String, String> headers) {
headers.forEach((key, value) -> {
System.out.println(String.format("Header '%s' = %s", key, value));
});
return "success";
}这会对你有帮助!
https://stackoverflow.com/questions/63523188
复制相似问题