结合spring webflux功能性Web框架(reactor-netty)使用spring HATEOAS

yzuktlbb  于 2023-02-03  发布在  Spring
关注(0)|答案(2)|浏览(179)

我们可以在RouterFunction之上使用springHATEOAS吗?我想我们可以指定资源,但是linkto(Controller.class)的等价物是什么?或者是否有任何等价物来指定RouterFunction的链接和使用组合

ckocjqey

ckocjqey1#

根据定义,您正在创建一个自定义路由,而Spring HATEOAS是一组固执己见的框架,因此您不必动一根手指。您尝试做的事情和Spring HATEOAS正在做的事情是矛盾的。因此,如果您想要嵌入超链接,您必须手动创建有效负载。
不过,如果您为该路由上的特定返回类型设置了所有者内容处理程序,这应该不会太困难。

dgjrabp2

dgjrabp22#

2023年1月答复:not yet.
Spring HATEOAS最初是根据Spring MVC构建的,因此即使WebFluxLinkBuilder也依赖Controller注解来构建资源链接。
RouterFunction接口没有公开底层RequestPredicate的方法,因此无法确定哪个路径与给定的RouterFunction相关联。未来的API可能会引入一些方法,以提供对该信息的开箱即用访问权限,而不必执行某些讨厌的操作,如破坏Reflection的封装。同时,您可能需要考虑集中所有相关的RouterFunction创建(例如,通过helper/util/custombuilder类),这样您就可以在一定程度上有把握地拦截所有路径和关联的HandlerFunctions
是的,当您使用RouterFunctions时,不幸的是Spring HATEOAS并不能帮助创建链接,并且基于当前的WebFlux函数API以通用的方式可靠地实现此功能是一个挑战。

相关问题