我可以关注spring traveson HAL库的链接,我想知道是否有任何方法可以跟踪嵌入式链接。
例如,我可以使用someLink
关注traverson.follow("someLink")
,但我正在寻找一种方法来关注someResource
self
链接。
{
"name": "some name",
"_embedded": {
"someResource": [
{
"name": "some resource name",
"_links": {
"self": {
"href": "http://someEmbeddedUrl"
}
}
}
]
},
"_links": {
"someLink": {
"href": "http://someUrl"
}
}
}
答案 0 :(得分:1)
我认为您可以使用PagedResources<Resource<SomeResource>>
。看一下以下示例(SomeResource
是POJO):
Traverson.TraversalBuilder tb = traverson.follow("someLink");
ParameterizedTypeReference<PagedResources<Resource<SomeResource>>> typeRefDevices = new ParameterizedTypeReference<PagedResources<Resource<SomeResource>>>() {};
Resources<Resource<SomeResource>> resources = tb.toObject(typeRefDevices);
Resource<SomeResource> firstItem = resources.getContent().iterator().next();
firstItem.getLinks().forEach(l -> {
System.out.println(String.format("rel: %s href: %s", l.getRel(), l.getHref()));
});
对于您的示例,此代码段应打印rel: self href: http://someEmbeddedUrl