RESTful for Axon Repositories(用于Axon存储库的RESTful)。

问题描述 投票:0回答:1

问题:应用程序使用 Axon框架org.axonframework.eventsourcing.EventSourcingRepository 和建筑 _links哈尔 格式是需要在回复中。

研究。可以用 春天的Hateoas但很多东西需要在rest-controller中手工编码。春天数据REST 提供了自动生成链接的功能,并在CRUD资源库上进行唯一的注释。该项目不是基于RDBS&JPA的,所以。春天数据REST 是不能选择的。

问题:是否 Axon 提供任何 RESTful 的解决方案,还是有更好的自动配置方案来替代 春季HATEOAS?

spring-data-rest spring-hateoas axon
1个回答
1
投票

明白了,所以你本质上是想暴露一个服务的能力,当涉及到一个给定的命令处理组件可以处理哪些命令时,不考虑该组件是否是一个独立的组件。总量外部命令处理程序.

请注意,发送命令的组件和处理命令的组件之间的交互是在 "命令 "中进行的。CommandBus. 当一个Axon应用程序启动时,它是 CommandBus 接收所有已知命令处理程序的注册。

这样, CommandBus 提供 位置透明度 为应用的这一部分。而这是位置透明,它提供了清晰和干净的隔离组件;本质上,它将帮助你采取一种进化的微服务方法(正如AxonIQ所描述的那样 此处).因此,我认为有必要通过REST共享给定serviceaggregate上所有已知的命令处理程序。

无论如何,是否有意义总是一个 "看情况 "的问题。就我而言,我已经创建了一种方法来共享一个服务可以处理的已知命令,作为JSON模式,你可以看出 此处 在我帮助AxonIQ和Pivotal之间建立的一个示例项目中。

所以,我们来谈谈你的问题。

问题:Axon是否提供了任何RESTful的解决方案,或者是否有更好的自动配置替代Spring HATEOAS?

不,Axon没有提供类似于开箱即用的东西,因为它希望你使用Spring HATEOAS。CommandBus 用于通信。我知道你可能需要一个起始点,REST是有意义的,但即使如此,暴露出 可以被认为是将你的内部领域暴露给外部世界。在大多数情况下,这是不可取的,但正如所说,这在很大程度上 "取决于 "你的用例。

© www.soinside.com 2019 - 2024. All rights reserved.