关注" _links"从Object返回Json对象为空。我想这是因为SDN中缺少自动延迟抓取。
是否有一种简单的方法可以告诉SDR在返回对象之前获取对象?
示例:
.../questions/1131
返回以下JSON:
{
//...
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/questions/1131"
},
"askedBy" : {
"href" : "http://localhost:8080/api/questions/1131/askedBy"
}
//...
}
}
单击.../questions/1131/askedBy
应该返回一个用户,但它会返回一个User对象,其中所有属性都是null
,但链接除外。
如何让SDR在将这些嵌入对象转换为JSON之前获取这些嵌入对象?
答案 0 :(得分:0)
感觉有点hackish,但我找到了一个有效的解决方案。
@Bean
@Transactional
public ResourceProcessor<Resource> fetchProcessor() {
return new ResourceProcessor<Resource>() {
@Autowired
Neo4jTemplate template;
@Override
public Resource process(Resource resource) {
final Object content = resource.getContent();
if (content != null) {
template.fetch(content);
}
return resource;
}
};
}
此外,我认为它有点矫枉过正,因为即使对象已经填充,它也会调用template.fetch()
。
更好的主意,任何人?