如何使用neo4j自定义spring数据中的self,parent,children链接

时间:2015-01-28 10:46:25

标签: neo4j spring-data-neo4j spring-data-rest

我使用spring data rest来创建neo4j上的API。我不想在我的网址中公开nodeId,因此我有一个UUID。更多信息:

How can I change neo4j Id to UUID and get finder methods to work?

如何通过spring-data-rest修改自动生成的链接以反映对UUID而不是nodeId的更改?

由于

---- ---修订

public class CustomBackendIdConverter implements BackendIdConverter {

@Autowired
PracticeAreaRepository practiceAreaRepository;

@Override
public Serializable fromRequestId(String id, Class<?> entityType) {
    return id;
}

@Override
public String toRequestId(Serializable id, Class<?> entityType) {
    if(entityType.equals(PracticeArea.class)) {
        PracticeArea c = (PracticeArea) id;
        return c.getPracticeAreaId().toString();
    }
    return id.toString();
}

@Override
public boolean supports(Class<?> delimiter) {
    return true;
}
}

1 个答案:

答案 0 :(得分:2)

Spring Data REST有一个BackendIdConverter SPI接口,您可以实现将发现的URI的识别部分转换为您在存储库中使用的任何内容{{1} 1}}方法。

只需创建此接口的实现,该接口执行双向转换并在ApplicationContext中将其注册为Spring bean,它将由Spring Data REST自动获取。