2011-07-28 43 views
14

我知道spring3有@RequestHeader在控制器中獲取單個請求標頭。我想知道是否有一個簡單的方法來獲取所有的請求頭文件?我希望這樣的事情:springframework獲取所有請求標題

@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); 
    } 
} 

回答

27

從的Javadoc:

@RequestHeader可以在地圖中使用,MultiValueMap或HttpHeaders方法參數訪問所有請求標頭。

更多信息可在線獲取herethere

+0

+1斑點! – skaffman