无法构造`java.util.SimpleTimeZone`的实例

问题描述 投票:1回答:1

[我以前使用的是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的实例(没有创建者,例如默认构造,存在):无法从对象值反序列化(否基于代理或基于属性的创建者)

java json spring spring-mvc
1个回答
0
投票

您可以尝试自己从SimpleTimeZone扩展并添加构造器,因此Jackson知道该怎么做:

public class VerySimpleTimeZone extends SimpleTimeZone {

    public VerySimpleTimeZone(String timeZone) {
        super(0, timeZone);
    }

}

并且在您的请求有效负载类别中,您只需从SimpleTimeZone更改为VerySimpleTimeZone

© www.soinside.com 2019 - 2024. All rights reserved.