我有一个使用Spring Boot 2.1.2.RELEASE andangular 6的项目,从前端我将数据发送到banckend,发送的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
答案 0 :(得分:1)
这是默认格式
YYYY-MM-DD
因此,杰克逊正确地格式化了日期。如果这不是正确的行为,则将格式传递给杰克逊
您必须修复JsonFormat批注
示例
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-dd-MM'T'HH:mm:ss")
private Date someDateField;