2

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

假设我有一个包含两个表,Company 和Employees 的数据库。

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

2 回答 2

3

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

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

于 2013-01-11T14:24:16.463 回答
-1

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

于 2013-01-11T14:25:20.120 回答