我们有一个REST API,客户端通常将POST和PUT数据发送到该API。当他们这样做时,有时他们发布的数据导致我们的系统没有任何变化。 POST和PUT格式良好,但他们发送的数据与我们数据库中的数据完全相同。发生这种情况时,我发现我们正在返回400 HTTP状态。不幸的是,这意味着“错误的请求”,如“服务器由于语法格式不正确而无法理解的请求”。REST:对于被忽略的POST的正确HTTP响应代码
很明显,情况并非如此,但我被告知我们将使用这个,因为没有其他适当的状态代码。我们考虑的选择:
- 304未修改。遗憾的是,这仅适用于GET请求。
- 204无内容。似乎关闭,但禁止一个实体。
其他选择似乎同样糟糕。我们可能会使用200 OK
,并在我们返回的XML文档中提供相关信息,但这看起来不是很“RESTish”。 REST世界通常如何处理这个问题?
(固定未修改响应代码。谢谢Mkoeller)
HTTP状态302被命名为“找到”。 – mkoeller 2008-11-12 14:02:45