【发布时间】:2019-12-04 22:34:02
【问题描述】:
我有一个实体用户,它有两个数据类型的字段。
@Entity
@Table(name = "users", schema = "public")
public class User {
@Id
@Column(name = "user_id", updatable = false, nullable = false, unique = true)
@GeneratedValue(generator = "UUID")
@GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator")
private UUID id;
@Column(name = "name")
private String name;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd@HH:mm:ss")
@Column(name = "created_on")
@JsonIgnore
private Date createdOn;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd@HH:mm:ss")
@Column(name = "modified_on")
@JsonIgnore
private Date modifiedOn;
// construuctors, getter, setter
}
我有一个具有方法 save() 的控制器,它将有关用户的数据保存到 postgesql 数据库。
@RestController
@RequestMapping("/user")
public class UsersController {
@Autowired
private UsersService service;
@PostMapping("/save")
public void save(@RequestBody User user){
service.save(user);
}
}
我有一个 JSON,我将它发布到控制器
{ "name":"Max", "createdOn":"2019-07-26 11:13:39", “已修改”:“2019-07-26 11:13:39”}
最后在执行过程中出现错误
"JSON 解析错误:无法反序列化
java.sql.Date类型的值 来自字符串\“2019-07-26 11:13:39\”:不是有效的表示 (错误:无法解析日期值'2019-07-26 11:13:39':无法解析 日期\“2019-07-26 11:13:39\”:虽然它似乎适合格式 'yyyy-MM-dd'T'HH:mm:ss.SSSZ', 解析失败 (leniency?null));嵌套的 例外是 com.fasterxml.jackson.databind.exc.InvalidFormatException:不能 从 String \"2019-07-26 反序列化java.sql.Date类型的值 11:13:39\":不是有效的表示(错误:无法解析日期 值'2019-07-26 11:13:39':无法解析日期\"2019-07-26 11:13:39\": 虽然它似乎适合格式 'yyyy-MM-dd'T'HH:mm:ss.SSSZ', 解析失败 (leniency?null))\n 在 [Source: (PushbackInputStream); 行:3,列:13](通过参考链: com.example.api.entity.User[\"createdOn\"])"
【问题讨论】: