批量更新操作的最佳实践
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
创建 - 拥有全新的资源结构(几乎总是批处理)
通过 POST/{resource} -- 只有批次没有过滤器
检索 - 选择每个 id/batch 创建的资源都可以通过
GET/{resource} 或 GET/{resource}/{id}
需要同时拥有
更新 - 主要通过 ID 过滤器更新
PUT/{resource}/{id} 主要可以通过过滤器
删除-再次删除整个batch/ids
删除/{resource} 或删除/{resource}/{id}
两者都需要
因此,除了创建之外,它类似于 Rest's
末尾的 where
子句。您需要有单独的端点以便于使用,因为 Rest Apis 主要服务于数据,没有 ModelAndView 结构页面。因此,为每个端点保留单独的端点是更好的做法
对于我的应用程序,我希望我的 CREATE 和 UPDATE 端点支持单个和批处理 insertions/updates。
我知道通常这些 URI 的标准是 /{resource}
代表 POST,/{resource}/{id}
代表 PUT。
POST 端点适用于批处理操作。它只涉及简单检查接收到的数据是否为数组格式。但是,对于 PUT,这是行不通的,因为 URI 需要指定资源的 ID。
我可以将 PUT URI 更改为 /{resource}
但这是一种不好的做法吗?对于 CREATE 和 UPDATE,为单个和批处理操作设置单独的端点是否更好?
CRUD 是其余 backbone
创建 - 拥有全新的资源结构(几乎总是批处理) 通过 POST/{resource} -- 只有批次没有过滤器
检索 - 选择每个 id/batch 创建的资源都可以通过 GET/{resource} 或 GET/{resource}/{id} 需要同时拥有
更新 - 主要通过 ID 过滤器更新 PUT/{resource}/{id} 主要可以通过过滤器
删除-再次删除整个batch/ids 删除/{resource} 或删除/{resource}/{id} 两者都需要
因此,除了创建之外,它类似于 Rest's
末尾的 where
子句。您需要有单独的端点以便于使用,因为 Rest Apis 主要服务于数据,没有 ModelAndView 结构页面。因此,为每个端点保留单独的端点是更好的做法