在json而不是ArrayList中返回URL

时间:2013-03-31 20:35:03

标签: java json rest jersey

我想在JSON响应中返回一个URL引用,而不是Java中的结果ArrayList。

我知道这是可能的,但我真的忘记了Annotation(以及lib)来做到这一点。 我在Google上查看jackson docsjersey docs和累人搜索,但未成功。

我有这个示例类:

@Entity
public class User implements Serializable {

    @Id
    private String uuid;

    //@JsonMissingAnnotation
    private List<Products> products;

我想回来:

    "User": {
        "uuid": "1234",
        "products": "http://mydomain/api/users/1234/products" 
    }

Intead返回一个完整的arraylist(可能是不必要的),我想返回该数组的URL,而Product List必须是retrive,发送GET到这个链接。

我认为这是Apigee中的最佳做法。

此致

1 个答案:

答案 0 :(得分:0)

我在Jersey的documentation找到了答案:

@Ref(value="users/${user.uuid}/products",
  condition="${user.products}")
URI productsRef;

这会根据需要为列表创建一个URI,并且我会从JSON解析中隐藏List。

这将产生以下JSON:

"User": {
        "uuid": "1234",
        "productsRef": "http://mydomain/api/users/1234/products" 
    }