簡體   English   中英

如何使用Spring HATEOAS在“鏈接”部分中產生鏈接的集合

[英]How to produce collections of links within the Links section using Spring HATEOAS

我正在嘗試產生類似於以下示例的JSON輸出:

{
    "links": {
        "self": { "href": "http://api.com/items" },
        "item": [
            { "href": "http://api.com/items/1" },
            { "href": "http://api.com/items/2" }
        ]
    "data": [
            {"itemName":"a"}, 
            {"itemName":"b"} 
     ] 
}

請注意, item是鏈接對象的集合。 我將如何使用Spring HATEOAS做到這一點?

更新:多次向我的UserResource添加相同的rel,可以得到以下信息:

"links": [
    {
        "rel": "self",
        "href": "http://localhost:8080/sophia/users/admin"
    },
    {
        "rel": "item",
        "href": "http://localhost:8080/sophia/companies/01393048000170/item/1"
    },
    {
        "rel": "item",
        "href": "http://localhost:8080/sophia/companies/01393048000170/item/2"
    },
    {
        "rel": "item",
        "href": "http://localhost:8080/sophia/companies/01393048000170/item/3"
    }
]

只需添加具有相同rel的多個鏈接即可。

Resource resource = new Resource(data);
resource.add(new Link("…", "item"));
resource.add(new Link("…", "item"));

您似乎希望以HAL + JSON序列化格式獲取資源,盡管您說的是“鏈接”而不是“ _links”。 Spring-HATEOAS的默認設置就是您得到的它們。 您需要使用@EnableHypermedia(HAL)。 另外,您還應該在Accept標頭中包含application / hal + json,並且可能在@RequestMapping屬性中生成產生參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM