Рассмотрим следующий метод:Пользовательские ошибки, несоответствие типов связывания
@RequestMapping(value="/foo", method=RequestMethod.POST)
public void doIt(@Valid PojoRequest request, BindingResult result) throw Exception
{
if(result.hasErrors())
{
throw new Exception(result.getFieldError().getDefaultMessage());
}
}
class PojoRequest {
String int id;
//getter
}
Когда я проверить этот метод правильно с параметром String
, я получаю следующее сообщение об ошибке:
Failed to convert property value of type 'java.lang.String' to required type 'int' for property 'id'; nested exception is java.lang.NumberFormatException: For input string: "abc"
я могу найти эту данные от BindingResult
, но то, что я хочу сделать, это добавить аннотацию к самому полю и записать сообщение об ошибке в аннотацию. Это возможно?
Почему вы позволяете клиенту установить ключ базы данных? –
Это всего лишь фиктивный код. Несмотря на то, что исходный код является чем-то подобным, в этой части кода нет операции с базой данных. Я не знаю, почему ты это сказал. @NeilMcGuigan – mtyurt
Итак, вы просто хотите изменить сообщение об ошибке ... –