我正在构建一个 API,用户可以请求选择要处理的特定记录。 如果成功,则会针对该记录分配用户的 UID,从而锁定其他用户的记录。
如果其他用户随后尝试选择同一记录,则应通知他们所选记录已被其他用户锁定。
我不确定发生这种情况时通过 API 转发信息的最佳方式是什么。我目前正在使用
BadRequest(result.Message)
但我不确定这是否是将这些类型的消息转发给客户端的最佳方式。
还有与此类似的其他场景,用户可能会尝试选择一条记录,但该记录尚未准备好进行处理,因此还会向他们转发一条消息以通知他们这一点。
API 应如何根据 HTTP 状态代码将这些类型的消息中继到客户端?
关于锁定资源,我建议使用 HTTP 状态代码
423 Locked
(developer.mozilla.org/en-US/docs/Web/HTTP/Status/423)。
当资源尚未准备好供最终用户使用时,我认为使用
404 NOT Found
(developer.mozilla.org/en-US/docs/Web/HTTP/Status/404)是有意义的