io non sono in grado di lasciare questo lavoro:@DateTimeFormat (pattern = "yyyy-MM-dd"), con Spring MVC Resto servizio dà "errore 400 richiesta sintatticamente corretto"
@RequestMapping(value = "/people", method = RequestMethod.GET, produces = "application/json")
public @ResponseBody
List<IPerson> searchPerson(@RequestParam(value = "birthDay", required = false) @DateTimeFormat(pattern="yyyy-MM-dd") Date birthDay) {
con la richiesta:
http://localhost:8080/rest/people?birthDay=2014-05-25
l'errore è sempre:
"HTTP stato 400 - la richiesta inviata dal client era sintatticamente scorretto".
Non riesco a trovare alcuna risorsa che mi dia una risposta/guida chiara per comprendere il problema sottostante ... qualcuno potrebbe aiutarmi? Grazie!
Edit: eccezione è:
Caused by: org.springframework.core.convert.ConversionFailedException: Failed to convert from type java.lang.String to type @org.springframework.web.bind.annotation.RequestParam @org.springframework.format.annotation.DateTimeFormat java.util.Date for value '2010-10-10'; nested exception is java.lang.IllegalArgumentException
at org.springframework.core.convert.support.ObjectToObjectConverter.convert(ObjectToObjectConverter.java:78)
at org.springframework.core.convert.support.ConversionUtils.invokeConverter(ConversionUtils.java:35)
at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:168)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:161)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:93)
at org.springframework.beans.TypeConverterSupport.doConvert(TypeConverterSupport.java:61)
... 40 more
Caused by: java.lang.IllegalArgumentException
at java.util.Date.parse(Date.java:615)
at java.util.Date.<init>(Date.java:272)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.springframework.core.convert.support.ObjectToObjectConverter.convert(ObjectToObjectConverter.java:73)
... 45 more
Puoi fare una richiesta di esempio? Se lo chiami dal codice, puoi registrare o intercettare la chiamata? – greyfairer
Hi @greyfairer ha modificato il codice e ha aggiunto la richiesta. Fondamentalmente è la data che sta causando i miei mal di testa ... Grazie! – Paolof76
È possibile aggiungere un gestore di eccezioni personalizzato per visualizzare l'eccezione completa? E.g: @ControllerAdvice public class DefaultExceptionsControllerAdvice estende ResponseEntityExceptionHandler { – greyfairer