Я учу себя Spring, анализируя примеры приложений, а затем добавляя код здесь и там для проверки теорий, которые я разрабатываю во время вскрытия. Я получаю следующее сообщение об ошибке при тестировании кода, который я добавил в приложение Spring:
An Errors/BindingResult argument is expected to be declared immediately after the
model attribute, the @RequestBody or the @RequestPart arguments to which they apply
Метод, к которому относится сообщение об ошибке:
@RequestMapping(value = "/catowners", method = RequestMethod.GET)
public String findOwnersOfPetType(Integer typeID, BindingResult result, Map<String, Object> model) {
// find owners of a specific type of pet
typeID = 1;//this is just a placeholder
Collection<Owner> results = this.clinicService.findOwnerByPetType(typeID);
model.put("selections", results);
return "owners/catowners";
}
Это сообщение об ошибке было инициировано, когда я попытался загрузить шаблон url/catowners в веб-браузере. Я просмотрел эту страницу и эту публикацию, но объяснение не кажется ясным,
Может ли кто-нибудь показать мне, как исправить эту ошибку, а также объяснить, что это значит?
EDIT:
На основании ответа Biju Kunjummen я изменил синтаксис на следующее:
@RequestMapping(value = "/catowners", method = RequestMethod.GET)
public String findOwnersOfPetType(@Valid Integer typeID, BindingResult result, Map<String, Object> model)
Я все равно получаю то же сообщение об ошибке. Я что-то не понимаю?
ВТОРОЙ РЕДАКТИРОВАНИЕ:
На основе комментария Sotirios я изменил код на следующее:
@RequestMapping(value = "/catowners", method = RequestMethod.GET)
public String findOwnersOfPetType(BindingResult result, Map<String, Object> model) {
// find owners of a specific type of pet
Integer typeID = 1;//this is just a placeholder
Collection<Owner> results = this.clinicService.findOwnerByPetType(typeID);
model.put("selections", results);
return "owners/catowners";
}
Я все равно получаю одно и то же сообщение об ошибке после того, как вы сказали eclipse, что... снова запустите на сервере.
Есть ли что-то, что я не понимаю?