在REST API中,DELETE方法可以有参数吗?

Won*_*Bae 18 rest

在REST API中,当需要参数来确定需要删除哪些资源时,我们如何创建DELETE方法?

例如,照片可以属于用户和组,如果我们有照片的端点,我们将需要其他信息来确定我们是否要删除用户照片或组照片,例如,

 /photos?userId={userId}
 /photos?groupId={groupId}
Run Code Online (Sandbox Code Playgroud)

这是一个很好的休息练习吗?

或者,DELETE只能通过用户/:id/photo或groups /:id/photo端点严格执行吗?

Eri*_*ein 18

在集合上使用DELETE并通过查询参数进行过滤没有任何问题.REST论文和HTTP规范都没有说明没有这样做.

这与@Thilo所关联的问题的答案不同,因为情况不同.那个问题是关于包括"不,真的,删除它!" 查询参数,这是不合适的.您正在使用查询参数来过滤应删除的结果.