我的应用程序接受 http DELETE 请求,该请求将从通过 hibernate 管理的数据库中删除条目。
删除某些条目会产生 hibernate.ConstraintViolationException,因为它们是另一个表中的键,因此不被接受。但是,此错误可能会根据数据库的状态及时更改。
对于这种情况,正确的 http 响应是什么?
我想到了412(Precondition Failed),因为不满足系统未使用条目的前提。
最佳答案
您考虑过 409 吗? --》409(冲突)状态码表示由于与目标资源的当前状态发生冲突,请求无法完成。此代码用于用户可能能够解决冲突并重新提交请求的情况请求。服务器应该生成一个有效负载,其中包含足够的信息供用户识别冲突的来源。” -- https://greenbytes.de/tech/webdav/rfc7231.html#status.409
关于hibernate - 无法执行 DELETE 时返回的正确 http 状态代码是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37006940/