我正在努力寻找一种方法,通过这种方法,我可以将@RequestHeader注释中的所有键值填充到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 Map headerParam;
这样我就可以遍历Map并根据需要使用所有标头值。
发布于 2016-07-19 06:08:20
你可以像下面这样实现它-
@RequestMapping(value = "/hello.htm")
public String hello(@RequestHeader HttpHeaders httpHeaders){
Map<String,String> headerMap=httpHeaders.toSingleValueMap();
//TODO httpHeaders will have many methods
}
我希望它能对你有所帮助。谢谢。
发布于 2021-05-27 05:27:16
如果您使用spring boot,下面的映射将会起作用
@RequestHeader Map headers
@PostMapping(value = "/customer", produces = { "application/json" })
ResponseEntity<String> findName(@RequestHeader Map<String, String> headers) {
}
发布于 2019-06-24 04:51:34
@Controller
public class HelloController {
@RequestMapping(value = "/hello.htm")
public String hello(@RequestHeader final Map<String, String> headerMap)
//..
}
}
https://stackoverflow.com/questions/38436363
复制相似问题