如何使用 Neo4j 在 Spring Data Rest 中自定义自身、父级、子级链接

2023-12-09

我正在使用 Spring Data Rest 通过 Neo4j 创建 API。我不想在 URL 中公开 nodeId,因此我有一个 UUID。更多信息请参见此处:

如何将 neo4j Id 更改为 UUID 并使查找器方法正常工作?

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

Thanks

- - 更新 - -

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;
}
}

Spring Data REST 有一个BackendIdConverterSPI 接口,供您实现将发现的 URI 标识部分转换为您在存储库中使用的任何内容findOne(…)方法。

只需创建此接口的一个实现来进行双向转换,并将其注册为 ApplicationContext 中的 Spring bean,Spring Data REST 就会自动拾取它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Neo4j 在 Spring Data Rest 中自定义自身、父级、子级链接 的相关文章

随机推荐