【发布时间】:2015-11-30 08:36:56
【问题描述】:
尝试更新/删除多个项目时,正确的 RESTful 方法应该是什么?
典型示例:有一个项目列表,即收到邮件的收入文件夹,您可以通过设置相应的复选框来选择其中一组。然后单击“删除”按钮并发送删除它们的请愿书。我应该调用什么方法?什么参数?
在这种情况下,很明显我应该使用DELETE,但它一次只能处理一个项目。另外,我可能不想删除它们,而是将它们存储在不同的文件夹中,这可能意味着使用PATCH,但话说回来,PATCH 方法只允许一个项目。
【问题讨论】:
-
PATH方法你是说PATCH吗?另外,谁说这些方法一次只允许一个项目?
-
在我们的项目中,我们有两种方法:第一种:发送 n
DELETE(删除)或 nPUT(移动)请求以(某种)保持一致。第二:在团队中讨论这个用例是否适合我们所说的“自定义操作”。这些自定义操作被“滥用”POST请求。例如:POST users/move/{groupid},它接受一个用户 ID 列表作为正文并将它们全部移动到所需的组。使用什么解决方案的标准基本上是“这个功能多久使用一次?”这个问题。 - 如果不是核心功能我们选择第一个,如果它经常使用我们选择第二个。 -
@TimCastelijns PATH 一次是否只允许一个项目?这就是我想到的地方:restcookbook.com/HTTP%20Methods/patch。如果您有其他文档资源,请告诉我
-
不,取决于服务器是如何实现的,如果它可以在1个请求中处理多个资源,那么你可以使用那个
-
@TimCastelijns 好的,那么语法是什么?
标签: rest