考虑以下针对Contact资源的粗粒度REST apis
POST /api/contacts
GET /api/contacts
GET /api/contacts/:id
PUT /api/contacts/:id
DELETE /api/contacts/:id
Run Code Online (Sandbox Code Playgroud)
考虑使用事件源作为联系人资源,即验证命令并存储事件.因此必须存储每个事件,包括每个字段级别的更改.
CreateContactCommand -> | Contact("john", "doe", 25) | -> ContactCreatedEvent
FirstNameChangeCommand -> | Contact("jane", "doe", 25) | -> FirstNameChangedEvent
LastNameChangeCommand -> | Contact("jane", "dear", 25) | -> LastNameChangedEvent
AgeChangeCommand -> | Contact("jane", "doe", 30) | -> AgeChangedEvent
Run Code Online (Sandbox Code Playgroud)
现在,将REST和EventSourcing结合起来.
做REST,客户端如何与上述标准REST API进行通信以进行字段级更改,以便在服务器端REST端点生成命令?
主要问题是,如何设计REST API以便它还可以支持最终支持事件的命令?
如果有人能够阐明这一点,我们将非常感谢你的帮助.
我不知道如何立即停止 akka 流 Runnable Graph?如何使用killswitch来实现这一点?我开始使用 akka 流才几天。就我而言,我正在从文件中读取行并在流程中执行一些操作并写入接收器。我想要做的是,只要我想立即停止读取文件,我希望这可能会停止整个运行图。对此的任何想法将不胜感激。
提前致谢。