2011-07-28 3 views
14

컨트롤러에 단일 요청 헤더를 얻으려면 spring3에 @RequestHeader이 있다는 것을 알고 있습니다. 모든 요청 헤더를 얻을 수있는 쉬운 방법이 있는지 궁금하네요? javadoc의에서springframework 모든 요청 헤더를 얻으십시오

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

:

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

} 

현재 내가 이런 식으로 뭔가를하고 있어요 :이 같은 뭔가를 바라고 있어요

@RequestHeader가지도에서 사용할 수 있습니다 , MultiValueMap 또는 HttpHeaders 메서드 매개 변수를 사용하여 모든 요청 헤더에 액세스 할 수 있습니다.

자세한 내용은 herethere입니다.

+0

+1 잘 보입니다. – skaffman

관련 문제