Quick Intro(可以跳过): 嗨,关于这个话题有很多问题和答案,但有时解决方案很简单,你甚至都没有想到,因为我已经失去了很多我想要的时间发布所有答案的补充。
问题: 您有一个 JSON REST 服务来处理 POST 请求以保存 JSON 对象,但该对象包含一个 Date 字段,该字段未被 Genson 开箱即用地解析。
Java 对象:
public class MyObj {
// The field you want to serialize/deserialize
private Date date;
// Constructor with no arguments needed by Genson
public MyObj() {}
}
Jersey 的 REST 服务:
@Path("/api/my-obj")
public class MyObjAPI {
@POST
@Consumes("application/json")
public Response insert(MyObj myObj) {
// do what you want with myObj, it's ready to use with the date
return Response.created('url/to/created/object').build();
}
}
带有 jQuery 的 javascript 客户端:
// This is the JSON Object to POST
var myObj = {
date: new Date()
};
$.ajax({
method: 'POST',
url: '/api/my-obj',
data: JSON.stringify(myObj),
dataType: 'json',
processData: false,
contentType: 'application/json'
});