删除记录时的HTTP代码

时间:2013-01-11 14:16:35

标签: ruby-on-rails http

我正在使用Ruby on Rails,我正在尝试理解HTTP代码的所有细微之处,以使我的应用程序符合标准,并且我面临以下情况。

假设我有一个包含两个表,公司和员工的数据库。

  • 如果用户尝试删除没有员工的公司,则会将其删除,服务器会发送代码200。
  • 如果用户尝试删除有员工的公司,则不会删除该公司,并且服务器会发送消息("有员工链接到该公司......")。在这种情况下,服务器必须发送什么代码?我在考虑HTTP 4XX,但在我看来,这不是客户端错误。

2 个答案:

答案 0 :(得分:3)

使用 409 Conflict 错误代码。它表示由于请求中的冲突而无法处理请求。

一旦员工离开,冲突就会被删除,删除也会有效。您可以将其视为客户端错误,因为它是来自客户端的冲突请求。

答案 1 :(得分:-1)

如果不允许客户对员工公司使用DELETE方法,我建议不要使用405方法。在回复正文中包含对原因的解释。