#spring-boot #http #logging #request #request-headers
#весенняя загрузка #http #ведение журнала #запрос #заголовки запросов
Вопрос:
Мне нужно посмотреть, каковы заголовки хостов для всех запросов, проходящих через мое приложение Spring Boot. Я пытался регистрировать все заголовки запросов, но, похоже, я не могу регистрировать заголовки хостов.
Комментарии:
1. пожалуйста, добавьте, какой код вы написали. также четко добавьте то, что вы получаете, и то, что вы ожидаете
Ответ №1:
Создайте фильтр, и вы сможете увидеть каждый доступный заголовок. Вот пример кода:
@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() {}
}
Ответ №2:
пример кода для печати всех заголовков.
@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";
}
это помогло бы вам!