我有一个使用resteasy版本2.2.1.GA实现的JAX-RS的java web maven项目。项目中的所有JAX-RS资源都会产生y消耗application / json。我的问题是当我返回一个POJO时,即使是一个数组,也只是序列化属性的值。
示例:
鉴于以下类别:
public class Pojo {
private Integer attr1;
private String attr2;
// GETTERs and SETTERs
}
@Path("pojos")
@Consumes("application/json")
@Produces("application/json")
public class PojoResource {
@GET
public Response list() {
List<Pojo> listResult = new ArrayList<>();
Pojo pojo = new Pojo();
pojo.setAttr1(1);
pojo.setAttr2("asdf");
listResult.add(pojo);
return Response.ok().entity(listResult).build();
}
}
如果我向/ pojos发出GET请求,则上述示例的结果为[[1, "asdf"]]
,而不是[{"attr1":1,"attr2":"asdf"}]
我不知道是否需要编写特定的提供商。我的项目配置类似于this。
答案 0 :(得分:0)
我意识到我的错误是层模型中的数据恢复是对象的向量,并且在没有处理的情况下返回(创建表示数据的POJO)。