Извините, что задаю такой простой вопрос, поскольку я новичок в Spring MVC 3.0. Я несколько раз читал документацию с сайта Spring source. Вот фрагмент кода, на который я буду ссылаться для моего вопроса ниже: -
@RequestMapping("/pets/{petId}")
public void findPet(@PathVariable String petId, Model model) {
// implementation omitted
}
Если я намереваюсь использовать шаблон URI, основанный на этом примере, всегда ли предпочтительно устанавливать тип @PathVariable в качестве String, даже если я ожидаю, что он будет другого типа, например int? В документации говорится, что аннотация @PathVariable может быть любого простого типа, но если Spring не может преобразовать неверный petId в int (например, пользователь вводит некоторые символы вместо цифр), он генерирует исключение TypeMismatchException.
Итак, когда в игру вступает валидатор? Оставляю ли я все типы @PathVariable в качестве String, и у меня есть валидатор для выполнения проверки значений String, и, если нет ошибки валидации, тогда явно преобразуем String в нужный тип?
Спасибо.