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")