我有一个非常简单的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"
}
是否可以禁用此行为并接收发送时间?
答案 0 :(得分:3)
发生这种情况是因为在反序列化时,Jackson使用的是上下文默认时区。 在Spring-Boot中,只需添加以下内容即可轻松禁用此功能:
spring.jackson.deserialization.adjust-dates-to-context-time-zone=false
到您的application.properties。