我正在尝试设计一个REST API,其中包括:
/users/5
。HTTP 409 ("CONFLICT")
,Location
标头指向必须首先删除的相关资源(例如,用户创建的错误报告)。我选择不自动级联删除。因为HTTP 409 ("CONFLICT")
响应可能指向多种类型的资源,我需要一种方法让客户端查找返回的资源类型(以确保系统了解正在删除的内容,而不是支持删除无可奈何地)。
适当的行动方案是什么?有没有办法让客户端枚举URI的可用Content-Type
?客户应该使用HTTP HEAD
调用Accept: */*
并将结果Content-Type
与已知类型列表进行比较吗?
答案 0 :(得分:0)
你正在做的事情有点隐蔽。规范仅建议用于201和3xx响应的Location标头。此外,409(冲突)回复说:
在这种情况下,响应表示可能包含 有助于根据修订合并差异的信息 历史。
- RFC 7231, Section 6.5.8
听起来像他们主张使用实体来解释冲突,而不是位置标题。