我想知道PATCH
事物/对象数组的最佳方法是什么。
假设我的模型中有records
数组,我想使用我的前端应用程序向其添加一些记录。我只发送请求中的那些:
records: [{ name: 'record_1' }, { name: 'record_2' }]
如果我现在想删除record_2
怎么办?我的方法应该是:
- 将
records: [{ name: 'record_1' }]
作为一个整体发送,以便后端知道我们删除了record_2
- 发送带有类似
deleted: true
标志的数组,使其如下所示:records: [{ name: 'record_1' }, { name: 'record_2', deleted: true }]
前端明智,做第一个更容易,但是后端呢?
遵循 REST 原则,应使用 DELETE 请求指定要删除的实体的标识符。 在您的情况下,您可以发送如下内容:
curl -X "DELETE" http://your.backend.address/endpoint/record_2
或使用 JS:
fetch(url + '/' + "record_2", {
method: 'delete'
})
收到肯定的响应(200 OK(后,可以在前面删除它。