[我以前使用的是TimeZone
类,我能够以{"timeZone":"Asia/Calcutta"}
的形式从UI发送数据,并且工作正常。但是现在我必须在Java中将TimeZone
更改为SimpleTimeZone
。但是随着这种变化,我得到错误
org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常为org.springframework.http.converter.HttpMessageConversionException:类型定义错误:[简单类型,类java.util.SimpleTimeZone];嵌套异常为com.fasterxml.jackson.databind.exc.InvalidDefinitionException:无法构造
java.util.SimpleTimeZone
的实例(没有创建者,例如默认构造,存在):无法从对象值反序列化(否基于代理或基于属性的创建者)
您可以尝试自己从SimpleTimeZone
扩展并添加构造器,因此Jackson知道该怎么做:
public class VerySimpleTimeZone extends SimpleTimeZone {
public VerySimpleTimeZone(String timeZone) {
super(0, timeZone);
}
}
并且在您的请求有效负载类别中,您只需从SimpleTimeZone
更改为VerySimpleTimeZone