有没有办法将控制器方法参数绑定到(1)请求 param ,如果未设置请求参数,还有(2)请求标头?价值的一种后备来源......
我已经尝试了以下但是它不起作用,因为显然第一个注释总是赢。
@RequestMapping("/")
public MyObject getMyObject( @RequestParam("paramName")
@RequestHeader("headerName") String value ) {
...
}
有什么想法吗?
答案 0 :(得分:2)
不仅第一个注释将应用于method参数。所以只需定义2个可选参数,如下所示:
@RequestMapping("/")
public MyObject getMyObject(
@RequestParam(value = "paramName", required = false) String requestParamValue,
@RequestHeader(value = "paramName", required = false) String headerValue) {
String value = requestParamValue != null ? requestParamValue : headerValue;
}