java - springframework 获取所有请求头

标签 java servlets spring-mvc

我知道 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.

可在线获取更多信息 herethere .

关于java - springframework 获取所有请求头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6863443/

相关文章:

java - weka中朴素贝叶斯的概率分布

java - Quarkus - 没有错误,但没有电子邮件(使用 gmail)

java - 如何在eclipse中访问图像文件(servlet/html)

java - 使用 MVC 和 DAO 模式在 JSP 页面中的 HTML 中显示 JDBC 结果集

java.math.BigDecimal 无法转换为 [Ljava.lang.Object;

java - 向旧版 Spring 应用程序添加了组件扫描

java - 无法执行Quartz简单触发教程

java - 如何向子进程发送命令

java - 如何检索用户 session 属性,例如用户名?

java - 使用 Spring MVC 的虚拟 View