2016-07-18 12 views
2

@RequestHeaderアノテーションのすべてのKey値をマップに取り込む方法を見つけようとしています。 私はGoogleにそれを試みましたが、私が見つけることができるのは、各キー値を1つのパラメータにマップする方法です。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 
} 

として、それを達成することができます。おかげさまで

関連する問題