Spring @Validated вызывает HTTP 400

Когда я добавляю аннотацию @validate к сигнатуре метода в своем контроллере, я получаю HTTP 400 с описанием: «Запрос, отправленный клиентом, был синтаксически неверным ().». Кто-нибудь знает, почему?

Хороший код

public ModelAndView startAccountSubmittal(
    AccountCredential accountCred, HttpServletResponse response) 
       throws MessagingException {

Плохой код

public ModelAndView startAccountSubmittal(
    @Validated(value={AccountStates.Submitted.class}) 
        AccountCredential accountCred, 
    HttpServletResponse response, BindingResult result) 
        throws MessagingException {

Заранее спасибо, Джо


person Joe    schedule 20.08.2013    source источник
comment
Как насчет вашего журнала на консоли. Я не эксперт, но это может помочь.   -  person Ccortina    schedule 20.08.2013


Ответы (1)


Неперехваченное исключение, которое я настроил, не перехватывало ошибку. Я добавил обработчик исключений в контроллер и смог получить подробную информацию. У меня было несколько дополнительных полей, которые он пытался проверить, которые содержали нули, но обязательные значения. Это вызвало HTTP 400. Включение обработчика исключений помогло получить исключение и трассировку стека. Я изменил код и добавил дополнительные группы, а затем добавил эти новые группы к объекту и контроллеру. Он работает по плану.

person Joe    schedule 21.08.2013