实际开发中,String拼接成json串作为入参请求接口,发生以下错误
{
"timestamp": "2018-11-09 14:55:49",
"status": 400,
"error": "Bad Request",
"message": "JSON parse error: Cannot deserialize value of type `java.util.Date` from String \"2016-02-02\": not a valid representation
(error: Failed to parse Date value ‘2016-02-02‘: Unparseable date: \"2016-02-02\");
nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException:
Cannot deserialize value of type `java.util.Date` from String \"2016-02-02\": not a valid representation
(error: Failed to parse Date value ‘2016-02-02‘: Unparseable date: \"2016-02-02\")\n at [Source: (PushbackInputStream);
line: 89, column: 23] (through reference chain: com.guorenpcic.grecar.dto.vo.Proposal[\"bc\"]->com.guorenpcic.grecar.dto.vo.BCVo[\"prpTitemCar\"]->
com.×××.grecar.dto.entity.Prptitemcar[\"certifiCateDate\"])",
"path": "/ecar/calculationPremium"
}
【问题】这是该字符串certifiCateDate作为Date格式的无法转换成json,转换错误。
【解决办法】实体Prptitemcar字段certifiCateDate上添加 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") 注解既解决。