error: Failed to parse Date value ‘2020-01-01’: Unparseable date: “2020-01-01”); nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type java.util.Date from String “2020-01-01” |
---|
1.服務器用@RequestBody接收數據,前端傳的格式是yyyy-MM-dd。
2.異常描述:反序列化失敗,yyyy-MM-dd不是有效的格式。
解決方案
方案1:添加@JsonFormat注釋,pattern格式要與前端一致
@JsonFormat和@DateTimeFormat
package com.hainei.pojo.bo.hazards.chain; import com.fasterxml.jackson.annotation.JsonFormat; import com.hainei.pojo.model.hazards.chain.ZdLsLsjcJcxq; import com.hainei.pojo.model.wp.aqzd.WpFile; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import javax.persistence.Column; import javax.persistence.Id; import java.util.Date; import java.util.List; /** * Created with IntelliJ IDEA. * User:wq * Date:2021/1/22 * Time: 17:40 * Description: No Description */ @Data public class ZdLsLsjcBO { @Id @ApiModelProperty(value = "id",example = "id") private String id; /** * 檢查人 */ @ApiModelProperty(value = "檢查人",example = "檢查人") private String examiner; /** * 檢查日期 */ @Column(name = "check_date") @ApiModelProperty(value = "檢查日期",example = "檢查日期") @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd", timezone = "GMT+8") @DateTimeFormat(pattern="yyyy-MM-dd") private Date checkDate; /** * 檢查人部門 */ @Column(name = "check_organization") @ApiModelProperty(value = "檢查人部門",example = "檢查人部門") private String checkOrganization; /** * 審批人 */ @ApiModelProperty(value = "審批人",example = "審批人") private String approver; /** * 審批狀態 */ @Column(name = "approval_status") @ApiModelProperty(value = "審批狀態",example = "審批狀態") private String approvalStatus; /** * 備注 */ @ApiModelProperty(value = "備注",example = "備注") private String remark; @ApiModelProperty(value = "檢查詳情") private List<ZdLsLsjcJcxq> jcxqs; private Integer pageNum; private List<WpFile> scfj; private Integer pageSize; private String gmtCreatedBy; private Byte isDeleted; public Integer getPageNum() { return pageNum == null ? 1 : pageNum; } public Integer getPageSize() { return pageSize == null ? 10 : pageSize; } }
<!-- jackson --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.9.13</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency>
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")