У меня есть метод-обработчик для RESTful URL, например / jobtype / {jobType} / id / {jobId}, который мне нужно привязать к классу с именем JobType.
Класс JobType содержит jobId и jobType.
Как я могу связать шаблон URI с классом JobType? Я пытался использовать @PathVariable, но он выбирает только JobType, а не id.
Как может webDataBinder помочь в этом сценарии? Я пытался использовать @initBinder для привязки класса JobType к редактору свойств, но он не работает.
//Request handler method code
@RequestMapping(value="/jobtype/{jobType}/id/{jobId}")
public ModelAndView fooViewWithDate(JobType jobType){
ModelAndView mav = new ModelAndView("/admin/foo");
mav.addObject("jobType", jobType);
return mav;
}
@InitBinder
public void initBinder(WebDataBinder wdb){
wdb.registerCustomEditor(JobType.class, new JobTypePropertyEditor());
}
public class JobTypePropertyEditor extends PropertyEditorSupport {
@Override
public void setAsText(String text) throws IllegalArgumentException {
JobType jobType = new JobType();
jobType.setName(text);
setValue(jobType);
}
}