【问题标题】:Update in Lagom via REST API通过 REST API 在 Lagom 中更新
【发布时间】: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


    【解决方案1】:

    我们使用类似的东西

    api/suggestion/:id PUT     // for updating the entire resource
    api/suggestion/:id/views   //for updating a portion of the resource
    

    1) 服务将请求映射到命令。该命令可以简单地包含实体中字段的子集。 2) 和 3) 您需要阅读文档和 CQRS 设计。该架构主要用于处理对可变状态的高度并发更新

    【讨论】:

      猜你喜欢
      • 2021-06-11
      • 2019-07-13
      • 2020-03-30
      • 2017-04-06
      • 2020-01-25
      • 2014-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多