Spring mvc Spring4MVC:将控制器参数绑定到头或请求参数(如果找不到)

Spring mvc Spring4MVC:将控制器参数绑定到头或请求参数(如果找不到),spring-mvc,Spring Mvc,是否有方法将控制器方法参数绑定到(1)请求参数,如果未设置请求参数,则绑定到(2)请求头?值的一种回退源 我已经尝试了下面的方法,但是没有成功,因为第一个注释总是成功的 @RequestMapping("/") public MyObject getMyObject( @RequestParam("paramName") @RequestHeader("headerName") String value ) { ... } 有什么

是否有方法将控制器方法参数绑定到(1)请求参数,如果未设置请求参数,则绑定到(2)请求头?值的一种回退源

我已经尝试了下面的方法,但是没有成功,因为第一个注释总是成功的

@RequestMapping("/")
public MyObject getMyObject( @RequestParam("paramName")
                             @RequestHeader("headerName") String value ) {
   ...
}

有什么想法吗?

没有,只有第一个注释将应用于方法参数。因此,只需定义两个可选参数,如下所示:

@RequestMapping("/")
public MyObject getMyObject( 
    @RequestParam(value = "paramName", required = false) String requestParamValue,
    @RequestHeader(value = "paramName", required = false) String headerValue) {
    String value = requestParamValue != null ? requestParamValue : headerValue;
}