【问题标题】:spring boot rest decrement on day from date春季靴子休息日减量
【发布时间】:2020-11-11 14:04:27
【问题描述】:

我有一个项目使用spring boot 2.1.2.RELEASE 和angular 6,从前面我发送数据到银行,发送的json是这样的{ "startDate":"2020-11-10T23:00:00.000Z" },当我调试我的控制器时我发现日期少了比发送日期提前一天Tue Nov 10 00:00:00 WAT 2020

public class UpdateSpecialityRequest {

   @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startDate;

}

@PatchMapping
public ResponseEntity<Void> updateSpeciality(@RequestBody @Valid UpdateSpecialityRequest updateSpecialityRequest) {
    service.updateSpeciality(updateSpecialityRequest);
    return new ResponseEntity<>(HttpStatus.OK);
}

application.yml

spring:
  main:
    allow-bean-definition-overriding: true
  jackson:
     serialization:
       write-dates-as-timestamps: false
     time-zone: Europe/Paris
     locale: fr_FR

【问题讨论】:

  • 您的 jsonFormat 模式缺少时间部分,这就是为什么忽略时间并捕获日期的原因。

标签: java spring spring-boot jackson


【解决方案1】:

这是默认格式

YYYY-MM-DD

所以杰克逊正确地格式化了日期。如果这不是正确的行为,则将格式传递给杰克逊

你必须修复你的 JsonFormat 注释

例子

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-dd-MM'T'HH:mm:ss")
private Date someDateField;

【讨论】:

    猜你喜欢
    • 2017-12-03
    • 1970-01-01
    • 2013-03-23
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 2015-10-19
    • 2016-01-30
    相关资源
    最近更新 更多