Как я могу регистрировать заголовки хостов http-запросов (весенняя загрузка)

#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";
    }
  

это помогло бы вам!