我正在开发一个依赖Jersey servlet的Web服务,并使用Jersey json转换器。
我的PatientDTO有一个字段java.util.Date birthDate
以下是我的方法
@GET
@Path("/{param}")
@Produces(MediaType.APPLICATION_JSON)
public Response getPatient(@PathParam("param") String id) {
PatientDTO patientDTO;
PatientManager manager = new PatientManagerFacade();
patientDTO = manager.getPatientById(id);
if (patientDTO == null) {
return Response.status(204).build();
}
return Response.status(200).entity(patientDTO).build();
}
@POST
@Path("/add")
@Consumes(MediaType.APPLICATION_JSON)
public Response addPatient(PatientDTO patient) {
PatientManager manager = new PatientManagerFacade();
String id = manager.addPatient(patient);
return Response.status(200).entity(id).build();
}
问题如下
对于我的POST方法,我给出了以下json,它被解析得很好,时间跨度被转换为java.util.Date
{
"firstName": "John",
"lastName": "Smith",
"birthDate": 722725200000,
"gender": "MALE",
"age": 18
}
但是当我调用return方法时,它给了我以下json
{
"id": "NM-001",
"firstName": "John",
"lastName": "Smith",
"birthDate": "1992-11-26",
"gender": "MALE",
"age": 23
}
但我希望birthDate也是一个时间跨度。我该如何实现这一目标?任何注释实际上如何解析字段,或类似的东西?
提前致谢