我想要一些关于设计 REST API 的建议,它允许客户机有效地向一个集合添加/删除大量对象。
通过 API,客户端需要能够向集合中添加项,并从中删除项,以及操作现有项。在许多情况下,客户端希望对集合进行批量更新,例如添加1000个项目和删除500个不同的项目。感觉客户机应该能够在与服务器的单个事务中完成这项工作,而不是需要1000个单独的 POST 请求和500个 DELETE。
是否有任何关于实现这一目标的最佳实践或惯例的信息?
我目前的想法是,应该能够将一个对象表示对集合 URI 的更改,但这似乎与 HTTP 1.1 RFC不一致,HTTP 1.1 RFC似乎建议 PUT 请求中发送的数据应该独立于已经存在于 URI 中的数据进行解释。这意味着客户机必须一次性发送集合新状态的完整描述,这可能比更改大得多,甚至比客户机在发出请求时知道的更多。
显然,如果有必要,我很乐意偏离 RFC,但是如果存在这样的约定,我更愿意以传统的方式来做这件事。