POJO属性在JAX-RS中作为JSON数组返回

时间:2016-02-03 17:51:00

标签: java json maven jax-rs

我有一个使用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

1 个答案:

答案 0 :(得分:0)

我意识到我的错误是层模型中的数据恢复是对象的向量,并且在没有处理的情况下返回(创建表示数据的POJO)。