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

该校验逻辑通常应用于哪些场景?是否仅用于Put和Delete方法?

代码校验逻辑解析

代码片段

if (result.affectedRows === 0) {
    return res.status(404).json({
        message: "Record not found."
    });
}

1. 校验逻辑的常见应用场景

  • 更新类操作(PUT/PATCH):执行数据更新语句后,若affectedRows为0,说明要修改的目标记录不存在,返回404告知客户端操作无效。
  • 删除类操作(DELETE):删除操作完成后,没有任何记录被删除,意味着目标记录原本就不存在,用404提示客户端。
  • 状态变更类操作:比如标记订单为已完成、禁用用户账号这类业务操作,若操作后无行受影响,说明目标记录不存在,返回404。
  • 批量操作校验:批量更新或删除符合特定条件的记录时,若没有匹配到任何记录,也可通过这个逻辑返回404,告知客户端没有可操作的对象。

2. 是否仅用于Put和Delete请求方法?

不是,除了PUT和DELETE,这个逻辑还适用于其他需要确认目标记录存在并完成操作的请求:

  • PATCH请求:和PUT类似,做部分字段更新时,若目标记录不存在,更新后affectedRows为0,同样需要返回404。
  • 特定业务的POST请求:比如POST接口用于执行"确认退款"这类操作(而非创建新资源),若目标订单不存在,操作后无行受影响,也会触发这个校验返回404。
  • 自定义业务接口:比如重置用户密码、绑定手机号这类接口,若目标用户不存在,执行相关数据库操作后affectedRows为0,也会用这个逻辑返回404提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.02 05:23:10