出于某种原因,我的一个@GET方法会自动以下列格式输出我的JSON数据,而两个实现完全相同。我希望我的其他@GET方法的格式与下面显示的输出完全相同。
获取所有医生代码:
@Path("/doctors")
@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Doctor> getAllDoctors() throws Exception{
return dao.getAllDoctors();
}
获取所有患者代码:
@Path("/patients")
@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Patient> getAllPatients() throws Exception{
return dao.getAllPatients();
}
统一输出:
[{"specialty":"surgeon","sex":"male","experience":4,"salary":23232.66,"id":3,"firstName":"kobe","lastName":"bryant"},
{"specialty":"surgeon","sex":"male","experience":4,"salary":23232.66,"id":33,"firstName":"D","lastName":"bryant"},
{"specialty":"eyebrows","sex":"female","experience":1,"salary":1.0,"id":2,"firstName":"joan","lastName":"smith"},
{"specialty":"eyebrows","sex":"female","experience":1,"salary":1.0,"id":69,"firstName":"joan","lastName":"smith"}]
答案 0 :(得分:0)
有几种方法可以这样做:
我们的想法是覆盖响应内容主体并使其非常漂亮。 请记住,泽西内部将杰克逊的对象序列化。
您必须将REST方法的签名更改为Response类型。然后,您将使用ObjectMapper通过Jackson手动序列化您的对象。
一旦你拥有了Json Obecjt,这个步骤就是美化它。 JacksonUtils有办法这样做。
我建议你添加一个查询字符串,以便知道你是否想要一个漂亮的输出。那将更合适。
如果您想要更详细的anserw,请告诉我。
希望它有所帮助,