我想支持一种方案,可以通过参数或标题将特定的一段值发送到我的应用程序。我有几个我想以这种方式支持的论点。Spring mvc映射标题和参数
什么是最好的方法来实现这与Spring mvc注释?
请注意,有时我会将标题发送给我,有时还会使用相同的密钥发送参数。从我的应用角度来看,它根本没有任何区别。对我来说最好的方法是将其映射到JavaBean。
可能吗?
Yosi
我想支持一种方案,可以通过参数或标题将特定的一段值发送到我的应用程序。我有几个我想以这种方式支持的论点。Spring mvc映射标题和参数
什么是最好的方法来实现这与Spring mvc注释?
请注意,有时我会将标题发送给我,有时还会使用相同的密钥发送参数。从我的应用角度来看,它根本没有任何区别。对我来说最好的方法是将其映射到JavaBean。
可能吗?
Yosi
最好的选择是有一个自定义的WebArgumentResolver。然后你可以用@ParamOrHeader来注释参数。在这里看到一个实例How to pass a session attribute as method argument (parameter) with Spring MVC。它是关于一个会话属性的,但是它可以很简单地将其改为参数或标题
您也可以将它们映射到一个非空使用。像:
ModelAndView methodDispatcher(@RequestParam(value = "X-Param", defaultValue = "") string header, @RequestParam(value = "param", defaultValue = "") string param) {
if (StringUtils.isNotEmpty(param)) {
return method(param);
}
if (StringUtils.isNotEmpty(header)) {
return method(header);
}
throw BadRequestException();
}
ModelAndView method(String param) {}