Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

662
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!