我试图找到一种方法,可以将@RequestHeader批注中的所有Key值填充到Map中。
我尝试使用Google,但我只能找到一种将每个键值映射到一个参数的方法。

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映射headerParam;

这样我就可以遍历Map并根据需要使用所有 header 值。

最佳答案

您可以按照以下步骤实现它:

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

希望对您有帮助。
谢谢。

10-05 18:25