Rest 当资源(可能暂时)不可编辑时,使用HTTP 405是否正确/可取?

Rest 当资源(可能暂时)不可编辑时,使用HTTP 405是否正确/可取?,rest,http-status-codes,Rest,Http Status Codes,我想知道在资源处于“可编辑”状态时,通过PUT请求可以修改资源,但在其他情况下不能修改资源时,如何返回正确的状态代码。特别是,当客户端试图放置资源时,资源是不可编辑的 如果客户能够采取一些步骤使资源可编辑,那么409 Conflict可能是合适的,但这不适用于我的情况;资源的可编辑状态由服务器控制 405方法不允许似乎最符合语义,但它不是正常使用 正确的方法是什么?允许可用方法随时间变化,我看不出有任何问题。考虑另一个例子,在某个特定的状态下,它不能被删除。 < P>我不认为允许可用的方法随着时

我想知道在资源处于“可编辑”状态时,通过PUT请求可以修改资源,但在其他情况下不能修改资源时,如何返回正确的状态代码。特别是,当客户端试图放置资源时,资源是不可编辑的

如果客户能够采取一些步骤使资源可编辑,那么
409 Conflict
可能是合适的,但这不适用于我的情况;资源的可编辑状态由服务器控制

405方法不允许
似乎最符合语义,但它不是正常使用


正确的方法是什么?

允许可用方法随时间变化,我看不出有任何问题。考虑另一个例子,在某个特定的状态下,它不能被删除。

< P>我不认为允许可用的方法随着时间而改变的任何问题。另一个例子,在某个特定的状态下不能删除的东西。

< P>我认为<代码> 405 <代码>是可以的,但是如果你想更具体的话,你可以考虑使用<代码> 423锁定的/<代码>(来自WebDAV),如果它适用于你的情况的话。(例如,由于锁类限制而不是AcL,文件不能编辑)

< P>我认为<代码> 405 是可以的,但是如果您想更具体的话,您可以考虑使用<代码> 423锁定< /代码>(来自WebDAV),如果它适用于您的情况。(例如,由于类似锁的限制而不是ACL,文件不可编辑)