java - tutorial - spring mvc español
¿Cómo se aceptan los parámetros de fecha en una solicitud GET para Spring MVC Controller? (2)
Tengo una solicitud GET que envía una fecha en formato YYYY-MM-DD a un controlador de primavera. El código del controlador es el siguiente:
@RequestMapping(value="/fetch" , method=RequestMethod.GET)
public @ResponseBody String fetchResult(@RequestParam("from") Date fromDate) {
//Content goes here
}
La solicitud se envía correctamente ya que estoy revisando con Firebug. Me sale el error:
HTTP Status 400: la solicitud enviada por el cliente fue sintácticamente incorrecta.
¿Cómo puedo hacer que el controlador acepte este formato de Fecha? Por favor ayuda. ¿Qué estoy haciendo mal?
Esto es lo que hice para obtener la fecha formateada de la interfaz
@RequestMapping(value = "/{dateString}", method = RequestMethod.GET)
@ResponseBody
public HttpStatus getSomething(@PathVariable @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) String dateString) {
return OK;
}
Puedes usarlo para obtener lo que quieres.
Ok, lo solucioné Escribirlo para cualquiera que pueda estar cansado después de un día completo de codificación sin parar y perder una cosa tan tonta.
@RequestMapping(value="/fetch" , method=RequestMethod.GET)
public @ResponseBody String fetchResult(@RequestParam("from") @DateTimeFormat(pattern="yyyy-MM-dd") Date fromDate) {
//Content goes here
}
Sí, es simple. Simplemente agregue la anotación DateTimeFormat.