【发布时间】:2017-03-23 04:45:06
【问题描述】:
我经历了 2 个使用 Lagom 开发微服务架构系统的示例,即“chirp”和“cargotracker”,但没有一个显示如何更新到现有实体。
例如,具有 REST URI 的以下实体
建议{ ID 内容 查看次数 作者 }
api/suggestion with Http Post ----> add a new suggestion
api/suggestion/:id with Http Get, ---->read a suggestion
api/suggestion/:id with Http Delete, ---->remove a suggestion
更新怎么样?
1)api/suggestion/viewCount 与 Http Put?
2)api/suggestion/:id with Http Put ?
3)api/suggestion/:id with Http Post ?
以上3种方法都有一些缺点
对于 1),需要为每个字段定义一个单独的数据类,否则直接在 Suggestion 实体上更新会引入“可变更改”,这违反了 Lagom 的原则。
对于 2)&3),需要旧状态的深层副本并使用更改的字段进行更新,否则也会引入“可变更改”。
还有其他选择吗?
谢谢
【问题讨论】:
标签: microservices lagom