【问题标题】:springframework get all request headersspringframework 获取所有请求头
【发布时间】:2025-12-10 21:05:02
【问题描述】:

我知道 spring3 有 @RequestHeader 在控制器中获取单个请求标头。我想知道是否有一种简单的方法可以获取所有请求标头?我希望是这样的:

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

【问题讨论】:

    标签: java servlets spring-mvc


    【解决方案1】:

    来自 Javadocs:

    @RequestHeader 可用于 Map、MultiValueMap 或 HttpHeaders 方法参数以获取对所有请求标头的访问权限。

    更多信息可在线获取herethere

    【讨论】: