我想支持一種方案,可以通過參數或標題將特定的一段值發送到我的應用程序。我有幾個我想以這種方式支持的論點。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) {}