如何使用 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 中自定义自身、父级、子级链接 的相关文章

  • Neo4j - 计算带有标签的节点

    我想要一个查询来计算数据集中有多少个节点具有每个标签 例如 标签A 100 标签B 200 我可以为每个单独的标签执行此操作 例如 MATCH n LabelA return count n 但是 我想在一个命令中为每个标签执行此操作 尝试
  • 使用 Spring Data JPA 选择一列

    有谁知道如何使用 Spring Data JPA 获取单个列 我在 Spring Boot 项目中创建了一个如下所示的存储库 但总是得到 cause null message PersistentEntity must not be nul
  • Neo4j.rb 创建独特的关系

    这是我的 Neo4j 活动节点 class User include Neo4j ActiveNode has many out following type following model class User end john User
  • 如何在neo4j中显示屏幕上的所有节点

    我有近 5000 个节点Recipes和 5 个节点Meal Types在 Neo4j 数据库中 目前他们之间没有任何关系 我正在下面运行 CQL MATCH n RETURN n LIMIT 100000 这运行良好 但它返回与相关的节点
  • 在 Spring Boot 中为自定义控制器方法启用 HAL 序列化

    我正在尝试使用 spring boot starter data rest 通过 Spring Boot 构建 RESTful API 有一些实体 账户 交易 类别和用户 只是常见的东西 当我检索对象时http localhost 8080
  • Neo4j 在 Cypher 查询运行中仅使用一个核心

    当我在 UI 中运行 Cypher 查询时 服务器中只有一个核心正在运行 查询会卡住或响应非常慢 我使用 Neo4j 3 0 7 社区 有人知道我可以使用所有核心进行哪些调整吗 单个 Cypher 查询仅限于单个线程 看到这个tweet h
  • 为什么 RestTemplate 不将响应表示绑定到 PagedResources?

    我正在使用 spring data rest 将实体公开为 分页 剩余资源 一切正常 但是当我通过以下方式请求数据时RestTemplate 我得到了一个无用的 HATEOAS JSON 我没有要求 JSON 似乎是一个 PagedReso
  • 参数映射不能用于 MERGE 模式

    我收到错误参数映射不能在合并模式中使用 我如何解决此错误 我正在使用下面的代码 我非常感谢任何帮助 提前致谢 MERGE u Person names RETURN u and data2 names name Keanu Reeves1
  • 同时运行 Gremlin-Server 和 NEO4J Server

    目前看来我们不能同时运行两者Neo4J服务器 and Gremlin服务器同时 有什么办法可以同时运行两者吗 NEO4J 正在运行 我尝试启动 Gremlin Server 然后出现以下错误 java lang RuntimeExcepti
  • 如何从 Neo4j 服务器插件登录?

    我正在尝试调试我正在编写的 Neo4J 服务器插件中的问题 有可以输出的日志吗 在哪里或如何执行此操作并不明显 好问题 我想你可以使用 Java 日志记录吗 这应该被路由到正常的日志系统中
  • 如何转储 neo4j 图形数据库?

    我将所有数据库存储在一个位置C JATIN DATA 数据库 neo4jDatabases 如何使用 neo4j Desktop 单独转储所有数据库 我已经尝试过 neo4j admin dump database to 这个命令但出现错误
  • 如何使用 JSONPatch 和 Spring Data REST 正确地将元素添加到集合中?

    我有一个非常简单的 Spring Data REST 项目 其中包含两个实体 Account 和 AccountEmail 有 Account 的存储库 但没有 AccountEmail 的存储库 Account 与 AccountEmai
  • 使用 cypher 和 apoc 将数百万个节点添加到 neo4j 空间层

    我有一个包含 380 万个节点的数据集 我正在尝试将所有这些加载到 Neo4j 空间中 节点将进入一个简单的点层 因此具有所需的纬度和经度字段 我试过了 MATCH d pointnode WITH collect d as pn CALL
  • neo4j:CYPHER查询节点的所有属性

    我们正在评估 Neo4J 的未来项目 目前只是尝试学习 Cypher 及其功能 但到目前为止 我认为应该非常简单的一件事却让我无法理解 我希望能够查看任何给定节点的所有属性及其值 在 SQL 中 会是这样的 select from Tabl
  • 如何使用 Spring Data Rest 和 PagingAndSortingRepository 处理异常?

    假设我有一个像这样的存储库 public interface MyRepository extends PagingAndSortingRepository
  • 为 Apache Spark 示例运行 Cypher (CAPS)

    我知道这是一个广泛的问题 但这会对neo4j不属于某个领域的用户scala编程 我需要使用Apache Spark 项目的 Cypher https github com opencypher cypher for apache spark
  • 使用 Cypher 向现有节点添加标签

    如何使用 Cypher 查询向现有节点添加标签 这在参考文档中 请参阅http docs neo4j org chunked stable query set html set set a label on a node http docs
  • 在 Neo4j OGM 1.1.3 ogm 深度为 2 中加载对象非常慢

    使用查询深度 2 时出现超时session load 我正在使用 Neo4j OGM 1 1 3 尝试从 Spring Data Neo4j 3 4 迁移 尝试加载 Node 对象 class Node Long id String nam
  • 如何简单地添加指向 Spring Data REST 实体的链接

    我有带有 Spring Data JPA 的实体 但为了生成有关它们的统计信息 我在 Spring 中使用 jOOQ Repository 由于我的方法返回一个List的实体 或Double 我如何将它们公开为链接 假设我有一个User实体
  • neo4j合并2个或多个重复节点

    我使用 cypher 手动输入 Neo4j 数据库 因此很容易出现创建重复节点等错误 重复的节点将与其他节点具有各自的关系 是否有内置函数可以合并这些节点 或者我应该手动完成 听起来可能 但密码脚本很复杂 获取每个重复节点的关系 使用正确的

随机推荐