gpt4 book ai didi

java - @RequestBody 中的日期问题

转载 作者:行者123 更新时间:2023-12-02 04:01:09 24 4
gpt4 key购买 nike

我有一个非常琐碎的问题,它占用了我很多时间。

我有一个 Spring Rest 服务,它接受 @RequestBody 中的模型对象。我在模型对象中传递的是格式为 yyyy-MM-dd'T'HH:mm:ss.SSS'Z' 的日期。问题是当我将日期(即 2016-01-05T18:30:00.000Z)从 html 传递到其余 Controller 时,它会转换为 2016-01-04T18:30:00.000Z。

@RequestMapping(method = RequestMethod.POST, path = "/clearance")
public ResponseEntity<?> saveClearance(@RequestBody ClearanceModel record ) {
.....
....
}

其中 ClearanceModel 是:

  public class ClearanceModel  {
private String date;

public String getDate() {
return date;
}

public void setDate(String date) {
this.date = date;
}
}

仅供引用:EST 不会出现此问题,但 IST 会出现此问题。

非常感谢任何帮助。

最佳答案

Jackson 提供了一种为实体指定自定义序列化器的方法。所以你必须

  • 实现自定义序列化器(例如 ClearanceModelSerializer 扩展 JsonSerializer )
  • 使用 @JsonSerializer 注释您的 ClearanceModel(using = ClearanceModelSerializer.class)

在此处查看更多信息:http://www.baeldung.com/jackson-custom-serialization

关于java - @RequestBody 中的日期问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34874371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com