当前位置: 首页 > 知识库问答 >
问题:

使用HAL浏览器与sping-hateoas没有sping-data-rest

贡斌
2023-03-14

我们正在启动一个新项目,我们正在考虑使用spring hateoas/超媒体。HAL浏览器看起来也很有趣,所以我们想看看。

然而,HAL浏览器似乎与spring data rest捆绑在一起,我们不想使用它(出于不同的原因)。

至少我们不想将所有存储库自动公开为rest资源,但在这样做时,除了使用spring hateoas定义链接外,我们还需要明确定义HAL浏览器的链接。

当不自动公开存储库时,我们必须定义

implements ResourceProcessor<RepositoryLinksResource>

@Override
    RepositoryLinksResource process(RepositoryLinksResource resource) {
        resource.add(link('/{id}').withRel('my-dummy'))

        return resource
    }

除了已经定义的链接(使用hateoas)

link('/{id}').expand(entity.id).withSelfRel()

这看起来很麻烦,并且不符合DRY原则。我们宁愿不实现@Overide方法RepositoryLinksResources过程(RepositoryLinksResources资源),因为这些链接已经在其他地方定义了。

我最初的想法是,HAL浏览器将重复使用hateoas已经定义的链接。但我显然没有正确地理解它?

所以问题是

有没有一种方法可以使用Spring捆绑的HAL浏览器而不使用Spring数据Rest?

当不自动公开存储库时,无需手动为HAL浏览器显式定义链接?

共有1个答案

东郭鸿福
2023-03-14

Spring提供的HAL浏览器不能在没有Spring-data-rest的情况下使用。

我也有类似的需求,并考虑了以下选项。。。

  1. 将Spring HAL浏览器打包到单独的项目中(托管在不同的端口上),并用@CrossOrigin标记原始项目
  2. 打包通用HAL浏览器

我没有尝试第一种方法,因此不知道您是否会面临任何其他问题。

第二种方法是下载HAL浏览器(https://github.com/mikekelly/hal-browser)并将其添加到Spring Boot项目文件夹src/resources/public中(https://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot).

 类似资料:
  • 我创建了一个maven项目,并添加了我需要的所有依赖项。我有一些使用spall-data-jpa的存储库,我添加了一些集成测试。 现在,如果我知道它是基于springmvc的,我需要添加spring data rest的ontop。但是我发现的所有例子,我需要添加spring boot来启动应用程序。我还注意到所有新的spring项目都使用spring boot。这意味着我必须学习并在我的项目中使

  • 我在Mongodb中有一个如下所示的文档: 现在,我想转到一个基于特定“”的文档,对于该文档,我想转到“时间表”列表,其中对于几个特定日期(不仅是一个日期,而且是多个日期),我想将状态更新为“已预订”。我浏览了这个链接,如何使用过滤的位置运算符和ArrayFilter应用更新,但是在MongoTemplate类中,方法不接受参数。有人能帮忙吗 我出去。真的会感谢任何建议。谢谢。 注意:我使用的是s

  • 我们有一个运行在spring boot 2.3和spring-data-r2dbc上的web服务,该服务仅在spring boot 2.3之后可用。 最近,我们需要与现有的elasticsearch 6集成。spring boot 2.3附带的spring data elasticsearch 4.0不支持x群集。 我试图显式声明依赖项spring data elasticsearch 3.2.1

  • 我有一个5列的表,我想用“Like”模式找出第1列、第2列和第3列之间的重叠。 修剪(列1)修剪(列2)修剪(列3)喜欢%搜索% 有没有什么捷径可以在不使用本机查询的情况下使用sping-data-jpa来实现这一点? 谢谢

  • 我目前正在使用嵌入式neo4j运行我的webapp。现在我想换成独立的neo4j服务器。在考虑使用独立服务器时,我偶然发现了spring-data-neo4j。在使用SpringDataJPA并记住连接到db是多么容易之后,我开始寻找如何使用spring-data-neo4j的好教程。 这似乎可能与Spring-数据-neo4j-Rest。这就留下了一个问题,如何用java config配置它,而

  • 我有带有嵌套文档注释的帖子集合。简单的文档模式如下所示: 我只想投射所要求的评论。我找到了一个可以接受的解决方案。(也只欢迎使用注释对象返回解决方案) 然后我尝试将其应用于带有查询注释的mongoDB存储库接口。 但我得到了演员特例。有没有更好的方法来使用spring data mongodb实现这一点?