我试图找到一种方法,可以将@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
}
希望对您有帮助。
谢谢。