批量更新操作的最佳实践

Best practice for batch UPDATE operations

对于我的应用程序,我希望我的 CREATE 和 UPDATE 端点支持单个和批处理 insertions/updates。

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

POST 端点适用于批处理操作。它只涉及简单检查接收到的数据是否为数组格式。但是,对于 PUT,这是行不通的,因为 URI 需要指定资源的 ID。

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

CRUD 是其余 backbone

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

  2. 检索 - 选择每个 id/batch 创建的资源都可以通过 GET/{resource} 或 GET/{resource}/{id} 需要同时拥有

  3. 更新 - 主要通过 ID 过滤器更新 PUT/{resource}/{id} 主要可以通过过滤器

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

因此,除了创建之外,它类似于 Rest's 末尾的 where 子句。您需要有单独的端点以便于使用,因为 Rest Apis 主要服务于数据,没有 ModelAndView 结构页面。因此,为每个端点保留单独的端点是更好的做法