Fecha de aprobación para solicitar param en Spring MVC

2 minutos de lectura

avatar de usuario de user1755645
usuario1755645

Soy nuevo en Spring MVC, y estoy tratando de pasar una fecha de mi javascript como un parámetro de solicitud

Mi controlador se parece a –

public @ResponseBody List<RecordDisplay> getRecords(
            @RequestParam(value="userID") Long userID,
            @RequestParam(value="fromDate") Date fromDate,
            @RequestParam(value="toDate") Date toDate) {

La pregunta que tengo es cómo hago la llamada desde javascript, como en cómo debería verse la URL

for eg. - /getRecords?userID=1&fromDate=06022013&toDate=08022013'

¿Necesito una forma de analizar la fecha para que Spring pueda reconocerla?

  • ¿Puedes compartir el código que has usado para comparar dos fechas?

    – rachana

    2 de julio de 2015 a las 6:03

Avatar de usuario de Sudhakar
Sudhakar

Usar @DateTimeFormat("MMddyyyy")

public @ResponseBody List<RecordDisplay> getRecords(
@RequestParam(value="userID")  Long userID,
@RequestParam(value="fromDate")     @DateTimeFormat(pattern="MMddyyyy") Date fromDate,
@RequestParam(value="toDate")     @DateTimeFormat(pattern="MMddyyyy") Date toDate) {

  • es @DateFormat de primavera?

    – Sripaul

    4 de julio de 2013 a las 6:39

  • no pude encontrar @Dateformat en primavera, pero encontré @DateTimeFormat como dice @dannrob.

    – Jim

    17 de julio de 2013 a las 17:43

  • Oh, y esto me ha mordido antes "mm" en los formatos de fecha y hora de Java es MINUTOS y "MM" es MESES.

    – Jim

    17 de julio de 2013 a las 19:34


  • +1 para Jim… Tampoco pude encontrar @DateFormatpero @DateTimeFormat.

    – Aritz

    24/09/2014 a las 14:56

  • FWIW, tuve que agregar @DateTimeFormat(pattern="MMddyyyy"). Respuesta dada aquí

    – Tripulación Wisco

    20 de enero de 2015 a las 19:37

Ahora también es @DateTimeFormat, que admite algunos formatos ISO comunes

  • ¡Sí! Complementando esta respuesta: se ve mucho mejor así: @RequestParam(value = “onDate”) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate onDate,

    – imTachu

    27/04/2016 a las 13:30

Use @DateTimeFormat(pattern=”yyyy-MM-dd”) donde yyyy es el año, MM es el mes y dd es la fecha

public @ResponseBody List<Student> loadStudents(@DateTimeFormat(pattern="yyyy-MM-dd") Date birthDay) {
    ...
}

  • @DateTimeFormat era una opción válida para mí, pero también tenía que agregar específicamente el atributo de patrón a la anotación

    – El hombre de hielo viene

    25 de junio de 2015 a las 13:35

  • mejor usar @DateTimeFormat(iso = DateTimeFormat.ISO.DATE).

    – BamaPookie

    24 de enero de 2019 a las 17:47

avatar de usuario de notforward
no adelante

Deberías usar tu application.properties (o cualquier otra propiedad del proyecto) y establezca la variable de entorno spring.mvc.format.date.

¿Ha sido útil esta solución?