Я ищу способ настроить привязку параметра Spring MVC по умолчанию. Возьмем этот метод в качестве примера:
@RequestMapping(value="/index.html")
public ModelAndView doIndex(@RequestParam String param) {
...
Это легко, когда у меня есть только String
, который я хочу извлечь из запроса. Однако я хочу заполнить более полный объект, чтобы мой метод выглядел так:
@RequestMapping(value="/index.html")
public ModelAndView doIndex(Foo bar) {
...
То, что я ищу, - это способ объявить привязку как это:
@RequestMapping(value="/index.html")
public ModelAndView doIndex(@FooPopulator Foo bar) {
...
И у вас есть другой вид реализации (определяемый аннотацией @FooPopulator
), который делает это:
public void doBind(Foo target, ServletRequest originalRequest) {
target.setX(this.computeStuffBasedOn(originalRequest));
target.sety(y);
}
До сих пор я узнал об аннотации привязки @InitBinder
, но я не уверен, действительно ли это правильный выбор для этого сценария.
Какой лучший способ?