我正在尝试生成类似于以下示例的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"
}
]
答案 0 :(得分:2)
只需使用相同的rel添加多个链接。
Resource resource = new Resource(data);
resource.add(new Link("…", "item"));
resource.add(new Link("…", "item"));
答案 1 :(得分:0)
尽管你说的是“链接”而不是“_links”,但你希望得到的资源有点像HAL + JSON seriazliation格式。你得到的是Spring-HATEOAS的默认值。您需要使用@EnableHypermedia(HAL)。你也应该在Accept标头中有application / hal + json,可能还有你的@RequestMapping属性的产生参数。