2016-07-18 2 views
2

@RequestHeader 주석의 모든 Key 값을 Map으로 채울 수있는 방법을 찾으려고합니다. Google에 알려 봤지만 각 키 값을 하나의 매개 변수에 매핑하는 방법 만 찾을 수 있습니다.Spring 컨트롤러의 모든 @RequestHeader 키 값에 Map으로 액세스하십시오.

import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestHeader; 
import org.springframework.web.bind.annotation.RequestMapping; 

@Controller 
public class HelloController { 

    @RequestMapping(value = "/hello.htm") 
    public String hello(@RequestHeader(value="User-Agent") String userAgent) 

     //.. 
    } 
} 

하지만 이렇게하고 싶습니다.

@RequestHeader Map headerParam;

지도를 탐색하여 필요한 모든 헤더 값을 사용할 수 있도록하십시오.

+2

실제로지도를 사용해 보셨습니까? (그리고 원본 [documentation] (http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc. html # mvc-ann-requestheader)). –

+0

@ M.Deinum, 지적 해 주셔서 고맙습니다. 나는 그걸 어떻게 든 놓쳤습니다. 문서가 분명해 보입니다. – JRishi

답변

4

당신은 내가 당신을 도울 것입니다 희망 추적 조사

@RequestMapping(value = "/hello.htm") 
public String hello(@RequestHeader HttpHeaders httpHeaders){ 
    Map<String,String> headerMap=httpHeaders.toSingleValueMap(); 
    //TODO httpHeaders will have many methods 
} 

로 달성 할 수있다. 감사합니다. .

관련 문제