Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

664
Vistas
Desde post man (servicio de descanso) cómo enviar la fecha json (formato de cadena) a java que acepta el objeto de fecha

Cómo vincular el valor dateOfJoining (tipo de cadena) a la variable miembro "dateOfJoining" (tipo de fecha) en la clase "DateInput" después de enviar JSON a continuación a través del cartero. Cómo convertir un objeto String a Date en Java con el mismo formato dd/MM/yyyy. La fecha convertida debe estar en el objeto Fecha pero no en Cadena.

Json es como se indica a continuación

 { "dateOfJoining" : "03/04/2017" }

Servicio URL golpeando en cartero -- localhost/Rest/hello

Clase RestService en java - HandleRestRequest.java

 @RestController public class HandleRestRequest { @RequestMapping("\hello"); public List setRequestParams(@RequestBody DateInput dateInput) { ....... } } Pojo Class DateInput.java public class DateInput { private Date dateOfJoining; ....... }

Si envío la fecha de json en el siguiente formato, es un error de lanzamiento como entrada no satisfecha

 { "dateOfJoining" : 04/04/2017 }

Así que lo envié como formato de cadena y cambié dateOfJoining como cadena en el archivo DateInput.java y luego traté de convertirlo como objeto de fecha como se muestra a continuación.

Archivo DateInput.java modificado de fecha a cadena

 public class DateInput { private String dateOfJoining; ....... }

JSON modificado

 { "dateOfJoining" : "04/04/2017" }

Código para convertir la entrada del usuario de Cadena a Fecha

 DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); String convertedDate = sdf.format(dateInput.getDateOfJoining());

Se está convirtiendo al formato requerido, pero el tipo de devolución es Cadena, pero se espera que el objeto Fecha envíe la capa DAO. Así que probé sdf.parse, su objeto de fecha de retorno pero no en el formato requerido

 Date date = sdf.parse(sdf.format(dateInput.getDateOfJoining())); output is like - Tue Apr 04 00:00:00 IST 2017 expected is 04/04/2017 (with return type Date object).

Entonces, ayúdenme a convertir la cadena en un objeto de fecha con el formato requerido, ya que la capa DAO espera una entrada como objeto de fecha en formato dd/MM/yyyy

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Editar: actualizando la respuesta de acuerdo con la pregunta actualizada.

Utilice la anotación @JsonFormat de Jackson Databind para especificar el patrón de fecha.

 public class DateInput { @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="dd-MM-yyyy") private Date dateOfJoining; ....... }
about 4 years ago · Santiago Trujillo Denunciar

0

Con JSON-B (incluido en Java EE 8) puedes hacer esto:

 class DateInput { @JsonbDateFormat("dd/MM/yyyy") public Date dateOfJoining; }

En mis pruebas con Thorntail 2.4, no necesito ninguna anotación para el formato ISO cuando uso java.util.Date :

 { "dateOfJoining" : "2019-04-28T14:45:15" }
about 4 years ago · Santiago Trujillo Denunciar

0

cambie su código al fragmento de código a continuación

 public List setRequestParams(@RequestParam("dateOfJoining")@DateTimeFormat(pattern="dd-MM-yyyy") DateInput dateInput) { ... }
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda