springframework получить все заголовки запроса - PullRequest
16 голосов
/ 28 июля 2011

Я знаю, что у spring3 есть @RequestHeader для получения одного заголовка запроса в контроллере. Мне интересно, есть ли простой способ получить ВСЕ заголовки запроса? Я надеюсь на что-то вроде этого:

@RequestMapping(value="/some/url",RequestMethod.GET)
public void endpoint(RequestParams params, BindingResult result, @RequestHeader MultiValueMap<String,String> headers, HttpServletRequest request, ModelMap model) {

}

В настоящее время я делаю что-то вроде этого:

MultiValueMap<String,String> headers = new HttpHeaders();
for (Enumeration names = request.getHeaderNames(); names.hasMoreElements();) {
    String name = (String)names.nextElement();
    for (Enumeration values = request.getHeaders(name); values.hasMoreElements();) {
        String value = (String)values.nextElement();
        headers.add(name,value);
    }
}

1 Ответ

35 голосов
/ 28 июля 2011

Из Javadocs:

@ RequestHeader можно использовать в параметре метода Map, MultiValueMap или HttpHeaders для получения доступа ко всем заголовкам запроса.

Подробнеедоступен онлайн здесь и там .

...