3

I have an entity at my java backend which has a joda DateTime field called createdAt. I have a post API to update these values on the Database. The post API accepts application/json values.

I have an use case where in i need to make a Ajax POST request from my javascript file that updates the entity with the current date.

Now that i need to pass a DateTime value in the POST data, i face a problem in converting the javascript Date object into joda DateTime.

I have tried sending the javascript Date object but it responds as :

Also Note: I cannot perform any actions on the data i receive from javascript before sending it to the repository on the java side.

3 Answers3

3

A bit late perhaps, but:

I had a similar problem. We use org.joda.time.LocalDate in our backend and passing a new Date() from javascript to the backend resulted in a conversion error. We solved this by using new Date().valueOf() instead. This will get the milliseconds since 1 jan 1970 (read about it at MDNs JavaScript Date page).

After that you could just do org.joda.time.LocalDate.parse(passedInValue)

qwelyt
  • 776
  • 9
  • 23
1

Objects cannot be "sent" in API calls. Objects are serialized(convert to string in this case) and deserialized(convert to appropriate object from string)

In this case:
- Serialization: Convert the Javascript Date object to appropriate format in a string before making the POST call
- Deserialize: Refer Converting a date string to a DateTime object using Joda Time library to convert the string into a DateTime object.

Community
  • 1
  • 1
Trojanware
  • 84
  • 1
  • 2
0

You can convert JavaScript new Date().toString(),and post the string value to the server, then you can use SimpleDateFormat to convert this value to any date format in java server.

Michael
  • 3,308
  • 5
  • 24
  • 36
maniac
  • 36
  • 2