问题标签 [spring-hateoas]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何手动注册 Jackson2HalModule 以进行独立单元测试?
我试过了:
但仍然有错误:
spring - HATEOAS 微服务的跨服务链接
我有许多使用 Spring Boot 构建的微服务,所以为了找点乐子,我想我应该尝试向它们添加 HATEOAS 以帮助建立跨资源链接。它似乎在特定项目中工作得很好,但我想知道是否有一种跨 API 链接的好方法。例如,假设我有 3 个服务:
用户详细服务: 代码:
用户日历服务: 代码:
用户消息服务: 代码:
要通过 API 进行浏览,最好有从用户资源到其约会和消息的链接。同样,最好从这些资源中获得链接。当我在类路径上有一个包含所有内容的单一 API 时,这一切都是可以实现的,我可以在其中编写如下代码:
代码:
但是,如果 CalendarController 不在我当前正在访问的服务的类路径上,我将无法执行此操作。
是否有一个好的/推荐的方法来创建不在当前项目中的控制器的链接?
引用自春季论坛
spring - Spring Hateoas 导致异常“不能子类化最终类 void”
我有以下控制器逻辑(已删除业务垃圾),它正在生成IllegalArgumentException
带有消息“无法子类最终类无效”的消息。
包 org.ghc.services.medicalsystem.controller
该方法的非 HATEOAS 部分运行良好。值得注意的是,控制器是用 Groovy 编写的。
错误的堆栈跟踪是:
该linkTo()
方法正在引发错误。除此之外,它会进入我不熟悉的动态代理。一如既往地欢迎任何建议!
spring - 春季 HATEOAS 链接
我只是想学习,构建一个 Spring HATEOAS 应用程序。
我在我的存储库中添加了一个自定义查询:
而且我的 JSON 响应很好,但由于这是可分页的,我想要一个链接部分......带有 prev/next。
我该如何添加?
主 url 提供了所有客户的列表,链接没有问题,我只想将这些链接添加到自定义分页方法中。
- 编辑 -
哦!
使 findAllFitered 方法返回一个 Page 而不是 List...
spring - 如何将自定义查询参数添加到分页仇恨结果中的下一个/上一个链接?
我有以下控制器方法:
第一种方法将所有客户资源作为页面返回。
第二个也返回分页结果,但可以选择提供q
查询参数进行过滤。
来自搜索方法的 JSON HATEOAS 响应包含一个下一页链接,例如:
问题是这里的q
查询参数丢失了。
我应该在这里使用PagedResourcesAssembler
不同的吗?
hateoas - HATEOAS 链接和方法性能
我们使用 HATEOAS 取得了很好的效果,但是我们一直在关注性能,并且从链接的构建中得到了非常糟糕的结果,即看起来像这样的代码
结果(我不关心大小,但无论如何都记录在下面)
大小是由于我们为每个资源提供了 8 个链接,所以我们预计大小,但速度不会减慢。
大约 232 毫秒用于构建链接,每个我返回的对象大约 2 毫秒(这个特定测试中的 100 个对象)
有没有办法加快这个速度?例如,我们能否在调用中为所有请求预先获取 URI toResources
,然后在toResource
?
java - Spring HATEOAS 资源汇编器和具有许多变量的资源链接
我正在使用 Spring HATEOAS 和 Spring 堆栈开发 REST API,但我在资源链接方面遇到了一些问题。
这是我的代码:
控制器:
汇编器:
资源:
如您所见,我的控制器在 URI 中有一些参数:idInt 和 idRib。
所以为了制作一个 SelfLink,我必须知道这个参数来制作类似“/apporteurs/1234/ribs/1234”的东西,但我认为汇编程序只需要一个参数和一个“简单”的 URI。
我有这个堆栈跟踪:
所以我正在寻找一个优雅的解决方案来做到这一点,因为我没有找到任何东西^^
我在 ResourceProcessor 中看到了一些东西,但我没有使用 Spring Data Rest。
你能帮助我吗 ?先感谢您 ;)
编辑 :
结果应该是:
spring-data-jpa - 使用 Spring Data REST 从 Hal-Json 中的 DB 中获取列的最大值
我有一个 Spring 项目,我使用 Spring Data REST 访问数据库(使用http://spring.io/guides/gs/accessing-data-rest/)
当我尝试使用 URL localhost:8080/test/search/findLastUpdatedDate 访问上述方法以获取 MAX 日期时,出现错误
请建议我如何从测试表中获取最大 lastUpdatedDate。谢谢!
这是我的测试课:
java - 如何混合使用 Spring Data Repositories 和 Spring Rest Controllers
目前,我将一些 Spring Data Repositories 公开为 RESTful 服务,方法是使用 @RepositoryRestResource 对它们进行注释,如下所示:
这一切都很好。当您点击我的第一个端点时,还会显示我公开的所有 Spring Data Repositories,如下所示:
现在我有一些我想公开的端点不能由 Spring Data Repositories 表示,所以我使用的是 RestController。
这是一个简单的例子:
现在,如果我运行这个应用程序并转到:
我确实得到了 Thing3 的 JSON 表示,并带有指向其自身的链接,它按预期工作。
我想弄清楚如何做的是让第一个端点也描述这个控制器。我基本上想要这个:
我需要做什么才能让我的基本端点拥有到此控制器的链接?
json - HATEOAS中“_embedded”的含义和用法
我正在使用支持 HATEOAS 的 Spring Data REST。我是这个范式的新手。
在GET
来自我的 RESTful Web 服务的响应中,我经常在名为_embedded
.
我想知道:节点是做什么用的?_embedded
它是 REST 规范的一部分吗?还是 HATEOAS 规范的一部分?还是特定于它们的 Spring 实现?
这是 JSON 结果的示例GET http://localhost:8080/mywebservice/features
:
我注意到我几乎总是_embedded
在响应中有节点:如果我请求一个集合,但即使通过搜索请求单个资源(例如使用GET http://localhost:8080/mywebservice/persons/search/findByEmail?email=example@example@.com
)。
_embedded
仅当请求是针对特定资源时(例如在执行GET http://localhost:8080/mywebservice/features/GROUND
.