【问题标题】:Where Merging two entities falls in Restful way以 Restful 方式合并两个实体的地方
【发布时间】:2015-08-11 19:41:26
【问题描述】:

我必须做以下事情:

将源实体合并到目标实体。源实体和目标实体都属于同一类型。因此,最终结果将是 Source 和 Target 将合并为一个 Target 实体,以便 Target 的所有属性将保持原样,但如果 Target 中的任何属性不存在,它将从 Source 复制。

最终,源将被删除。

我的问题是,以 Restful 方式,今年秋天应该在哪里 - POST / PUT / DELETE,为什么?

或者,它将是多个操作 - PUT / POST 后跟 DELETE?

【问题讨论】:

    标签: asp.net asp.net-web-api2 restful-architecture


    【解决方案1】:

    您可以在一个电话中完成。假设目标的唯一 ID 在新实体中保持不变,只需允许:

    POST /entities/{targetEntityId}
    {
        "mergeFrom": "/entities/{sourceEntityId}
    }
    

    POST 允许副作用,因此您可以选择在此调用中执行删除操作。或者,您可以选择允许客户端通过要求客户端在 POST 之后调用 DELETE /entities/{sourceEntityId} 来确定是否删除源。

    要使用 PUT,您需要客户端进行合并并包含所有值,这可能是不可取的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-14
      • 2016-06-17
      • 2022-01-16
      相关资源
      最近更新 更多