【问题标题】:Is it possible to use spring-data-rest-webmvc without an actual Repository?是否可以在没有实际存储库的情况下使用 spring-data-rest-webmvc?
【发布时间】:2016-05-10 22:36:49
【问题描述】:

这个问题听起来很有趣,但我认为这应该是可能的。

我想要的是使用一个纯自定义但像存储库一样公开的存储库。该服务将具有获取、保存、删除和列出数据可能来自任意来源的对象的方法。

查看代码,我认为应该可以,因为方法是使用CrudMethods 和RepositoryInvoker 访问的。我相信这需要RepositoryFactoryInformation 的实现,这将由Repositories 发现。我开始尝试了一下,它看起来像一个成熟的 spring-data-noop 模块。

我是在正确的轨道上还是有更简单的方法来实现这一点?

【问题讨论】:

    标签: spring-data spring-data-rest


    【解决方案1】:

    我最终写了 spring-data-custom 来创建完全自定义的 spring-data 存储库,允许自定义代码与 spring-data-rest 等一起使用。

    1. 启用自定义存储库 (@EnableCustomRepositories)
    2. 注释符合条件的实体 (@Custom)
    3. 创建存储库(扩展 CustomRepository<T, ID>)
    4. 添加custom behavior:
      1. 让存储库扩展一个带有Custom 后缀的新接口
      2. 使用Impl 前缀创建新接口的实现
      3. 添加一个或多个名为 findOne、save、findAll、delete 的 CRUD 方法(参见 DefaultCrudMethods)
      4. 添加带有@Query 注释的查询方法
    5. 使用spring-data-rest 导出存储库

    (复制自README)

    正如@wwadge 正确提到的,spring-data-keyvalue 是一个替代方案。存储库必须实现KeyValueAdapter,例如MapKeyValueAdapter.

    【讨论】:

    • Sprign data keyvalue 简直难以置信
    【解决方案2】:

    更简单的方法是使用 spring-data-keyvalue 项目来做你想做的事情。

    【讨论】:

      猜你喜欢
      • 2016-10-26
      • 2011-09-28
      • 2017-10-09
      • 2018-04-19
      • 1970-01-01
      • 2018-05-28
      • 2022-12-22
      • 2016-11-25
      • 1970-01-01
      相关资源
      最近更新 更多