目前,我获得了包含url api / item的商品列表,我只能通过向每个商品发送删除请求来删除商品。网址如:api/item/52
和api/item/53
。
显然,发送50个删除50个项目的请求是不明智的,所以我想知道如何使用django rest框架实现批量删除。
答案 0 :(得分:1)
你最可靠的是
DELETE /api/item?id=52,53
您可以尝试将消息正文放入DELETE请求中,但是如果您这样做,许多框架和容器都会出错。这是因为spec不清楚DELETE请求是否支持邮件正文。
答案 1 :(得分:1)
首先创建一个临时的“待删除”项目集合资源:
POST /api/collections/items
传入这样的有效载荷(假设是JSON):
{
"items" : ["/api/item/52", "/api/item/53"]
}
哪个会在Location
响应标头中返回这样的URI,表示新集合引用的项集:
/api/collections/items/7266447
然后,您可以在集合URI上发出一个DELETE,它将核对所有引用的元素:
DELETE /api/collections/items/7266447