У меня есть объект команды:
public class Job {
private String jobType;
private String location;
}
Что связано с spring -mvc:
@RequestMapping("/foo")
public Strnig doSomethingWithJob(Job job) {
...
}
Что отлично работает для http://example.com/foo?jobType=permanent&location=Stockholm
. Но теперь мне нужно заставить его работать для следующего URL-адреса: http://example.com/foo?jt=permanent&loc=Stockholm
Очевидно, что я не хочу изменять свой объект команды, потому что имена полей должны оставаться длинными (как они используются в коде). Как я могу настроить это? Есть ли способ сделать что-то вроде этого:
public class Job {
@RequestParam("jt")
private String jobType;
@RequestParam("loc")
private String location;
}
Это не работает (@RequestParam
не может применяться к полям).
То, о чем я думаю, это настраиваемый конвертер сообщений, похожий на FormHttpMessageConverter
, и чтение пользовательской аннотации на целевом объекте