Jan 16th, 2013, 05:01 PM
With ref to use of java.util.date and java.sql.date in Spring based REST API
First of all, I apologise if my question sounds silly/dumb to you
I am working to create an API using Spring's REST Support.
One of the API functions utilises a date value--now, in the service function (which actually inserts data into JDBC data source) i have used java.sql.date.
I have created a rowmapper for the class that uses a single date value as one of its members-- I have defined this member as a java.sql.date value and hence the getter for the date value returns a java.sql.date value.
Now, in the API function where I want to insert a new row into table, I am specifying the class member as the Request Body- from which I extract the date value using the getter.
Jan 17th, 2013, 01:03 AM
In general don't use javax.sql.Date in your APIs... It is more trouble then it is worth next to that you don't want to leak SQL abstractions into your API layer. Use java.util.Date or use something like jodatime to represent your date and time in your API but avoid the use of javax.sql. classes.
Jan 17th, 2013, 02:58 AM
OK.... what I am doing now is, using javax.sql.date only in the actual service function--> the controller function (which will be invoked as part of the API by API consumers) asks for date in java.util.date format, and then that date is converted to javax.sql.date (within the controller function)--> after this the service function is called with javax.sql.date value being passed as parameter to the service function.
Is the above approach correct? Or can you suggest some other/better means?
Tags for this Thread