标签: ruby-on-rails http-response-codes
如果DELETE请求失败,因为要删除的资源仍然具有与之关联的子记录并且引发了ActiveRecord::DeleteRestrictionError异常,那么要返回的正确HTTP响应代码是什么? 422?
DELETE
ActiveRecord::DeleteRestrictionError
答案 0 :(得分:2)
我说你可以使用422或更模糊的500。
422是合理的,因为服务器理解请求实体的内容类型,并且请求实体的语法正确但无法处理包含的指令。
500是合理的,因为服务器确实遇到意外情况,导致无法完成请求(相关的子记录是服务器端问题)。
Source