OffsetDateTime始终转换为UTC

时间:2020-08-04 16:02:29

标签: java spring-boot

我有一个非常简单的spring boot应用程序,该应用程序获取并返回时间戳。

代码如下:

控制器

@RestController
public class DemoController {

    @PostMapping("/")
    public Model test(@RequestBody Model model) {
        return model;
    }
}

模型

public class Model {
    public OffsetDateTime timestamp;
}

我注意到,当我发送的时区不是UTC时,我收到的对象将转换为UTC-例如,以下调用:

{
    "timestamp": "2017-07-21T17:32:28+01:00"
}

有此回复:

{
    "timestamp": "2017-07-21T16:32:28Z"
}

是否可以禁用此行为并接收发送时间?

1 个答案:

答案 0 :(得分:3)

发生这种情况是因为在反序列化时,Jackson使用的是上下文默认时区。 在Spring-Boot中,只需添加以下内容即可轻松禁用此功能:

spring.jackson.deserialization.adjust-dates-to-context-time-zone=false

到您的application.properties。