我需要将命令创建的实体的ID返回给客户端。
(例如,从new-potato
重定向到potatoes/:id
)
我无法在客户端上创建ID,例如,因为:
提交命令后可以返回ID吗? 例如,命令是
{
type: "CreatePotato",
eyes: 3
}
返回的有效载荷是
{
data: {id: 1001}
}
该事件持续存在
{
type: "PotatoCreated",
id: 1001,
eyes: 3
}
答案 0 :(得分:1)
您可以使用命令发送ID:
{
id: 1001,
type: "CreatePotato",
eyes: 3
}
由于在一个好的系统中,id应该是唯一的,不可变的并且永远不带有任何语义,因此您可以在命令中直接生成一些GUID,CUID或您正在使用的任何内容,并假设命令成功了,则您的新实体ID是您发送的ID。