hibernate - 无法执行 DELETE 时返回的正确 http 状态代码是什么?

标签 hibernate http

我的应用程序接受 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/

相关文章:

apache - 如何从 apache 中删除日期 header ?

java - Android OkHttp 库 : GET Request - Exception EOFException:\n not found: size=0 content=

php - 我应该为多语言网站设置哪些 http header ?

spring - 使用 Spring 4 和消息插值配置在 ConstraintValidator 中注入(inject)存储库

ruby - 如何调试/显示使用 RestClient 发送的请求

http - msgpack 的 MIME 类型?

java - Hibernate 返回错误 "Class path must be set or restored default"

java - bitronix- 无法定位当前的 JTA 事务

java - 如何将 java.util.Map 与 hibernate xml 中的关联映射?

sql - 查询是否存在多个多对多关系