【问题标题】:Best practice for batch UPDATE operations批量更新操作的最佳实践
【发布时间】:2019-03-07 03:43:47
【问题描述】:

对于我的应用程序,我希望我的 CREATE 和 UPDATE 端点支持单次和批量插入/更新。

我知道这些 URI 的标准通常是 /{resource} 用于 POST,/{resource}/{id} 用于 PUT。

POST 端点可以很好地用于批处理操作。它只需要简单检查接收到的数据是否为数组格式。但是,对于 PUT,这不起作用,因为 URI 需要指定资源的 id。

我可以将 PUT URI 更改为 /{resource},但这是一种不好的做法吗?对于 CREATE 和 UPDATE,为单个和批处理操作设置单独的端点会更好吗?

【问题讨论】:

    标签: rest crud


    【解决方案1】:

    CRUD 是 rest 的骨干

    1. 创建 - 拥有全新的资源结构(几乎总是批处理) 通过 POST/{resource} -- 仅批处理无过滤器

    2. 检索 - 为每个 ID/批次选择创建的资源可以通过 GET/{resource} 或 GET/{resource}/{id} 两者都需要

    3. 更新 - 主要通过 ids 过滤器更新 PUT/{resource}/{id} 主要可以有via filter

    4. 删除 - 再次删除整个批次/ID 删除/{resource} 或 Delete/{resource}/{id} 两者都需要

    所以,它类似于where 结尾处的where 子句,但创建除外。您需要有单独的端点以便于使用,因为 Rest API 主要提供数据,没有 ModelAndView 结构页面。因此,为每个端点保留单独的端点是一种更好的做法

    【讨论】:

      猜你喜欢
      • 2019-06-29
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      • 2012-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多