Как отправить значение даты объекту Calendar в Webservice Request.Значение Parsing Date как JSON в RESTful Webservice Request
@Produces("application/json")
@Path("Service")
public class ServiceImpl {
@Context
HttpServletRequest httpServletRequest;
@Context
HttpServletResponse httpServletResponse;
@POST
@Path("getDetails")
@Consumes("application/json")
@Produces("application/json")
public String getDetails (ServiceRequest request)
{
if(null!=request)
return "Successfully Parsed given Date";
}
}
public class ServiceRequest {
private XMLGregorianCalendar requestDate;
void setDate(XMLGregorianCalendar date){
this.requestDate = date;
}
XMLGregorianCalendar getDate()
{
return requestDate;
}
}
Запрос URL: http://localhost:7001/WebProject/Service/getDetails
RequestParams:
{
"requestDate" : "2015-04-20T05:30:00.000Z"
}
И не разбирая значение в качестве даты. Как я могу передать значение для объекта Calendar.
Я использую банку genson для сериализации запроса. И сообщение об ошибке, как
Caused by: com.owlike.genson.JsonBindingException: Could not parse date 2015-04-20T05:11:00.000Z
at com.owlike.genson.convert.DefaultConverters$DateConverter.deserialize(DefaultConverters.java:1003)
at com.owlike.genson.convert.DefaultConverters$CalendarConverter.deserialize(DefaultConverters.java:1226)
at com.owlike.genson.convert.DefaultConverters$CalendarConverter.deserialize(DefaultConverters.java:1209)
at com.owlike.genson.convert.BeanViewConverter.deserialize(BeanViewConverter.java:102)
at com.owlike.genson.convert.NullConverter$NullConverterWrapper.deserialize(NullConverter.java:56)
at com.owlike.genson.reflect.PropertyMutator.deserialize(PropertyMutator.java:30)
... 48 more
Caused by: java.text.ParseException: Unparseable date: "2015-04-20T05:11:00.000Z"
at java.text.DateFormat.parse(DateFormat.java:337)
at com.owlike.genson.convert.DefaultConverters$DateConverter.read(DefaultConverters.java:1009)
at com.owlike.genson.convert.DefaultConverters$DateConverter.deserialize(DefaultConverters.java:1001)
... 53 more
Эти два потока могут помочь: http://stackoverflow.com/a/26452897/4797507 http://stackoverflow.com/questions/13616034/how-do-i-configure- –
Спасибо @Bob. Это работало для меня, когда я пишу класс поставщика, как он упоминается в документах. – Arun
Добавление к этому у меня есть некоторые проблемы при получении ответа от службы. Скажем, моя база данных находится в другом месте и имеет другое местоположение. Когда я отлаживаю свой код, я мог бы найти дату и время, которые идеально подобраны, но когда поставщик genson приходит на место, он преобразуется в простой формат даты моего текущего времени, установленного системой. Это означает, что он преобразуется в системное время, а не с опорным значением – Arun