我知道 spring3 有 @RequestHeader
来获取 Controller 中的单个请求 header 。我想知道是否有一种简单的方法来获取所有请求 header ?我希望是这样的:
@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);
}
}
最佳答案
来自 Javadocs:
@RequestHeader can be used on a Map, MultiValueMap, or HttpHeaders method parameter to gain access to all request headers.
关于java - springframework 获取所有请求头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6863443/