You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检测不存在文档的更新操作失败(获取404状态码)

问题

执行以下更新请求:

curl -v -X PUT 
  -d '{"fields":{"postings":{"assign":42}}}' 
  http://localhost:8080/document/v1/post/post/docid/ABCDEFG

当目标文档「ABCDEFG」不存在时,服务器仍返回「200 OK」,有没有办法让这种情况返回「404 NOT FOUND」,或者检测到此次更新操作失败?


解决方法
  • 提前校验文档存在性:在执行PUT更新前,先发送GET请求确认文档是否存在。比如运行:
    curl -v http://localhost:8080/document/v1/post/post/docid/ABCDEFG
    
    如果返回404,就跳过后续更新;如果返回200,再执行更新操作。
  • 修改服务端处理逻辑:如果你能调整后端代码,可以在处理PUT请求时先检查目标文档是否存在。不存在的话直接返回404,存在再执行更新并返回200。
  • 解析响应体判断结果:部分服务在文档不存在时执行PUT,会在响应体里返回更新状态(比如{"affected_rows": 0}这类标识),可以通过解析响应体里的字段,判断是否真的完成了更新。

内容的提问来源于stack exchange,提问作者doublemax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 13:10:42