JSON:重复内容创建的API HTTP状态代码避免 我有一个支持创建新消息的端点。我避免在后端中创建两次相同的消息,以防用户尝试将按钮按两次(或在...

问题描述 投票:0回答:3

我建议使用HTTP状态代码409:冲突。

JSON:API规范
api duplicates json-api http-response-codes ruby-on-rails-5
3个回答
8
投票

a服务器

2
投票
返回409冲突时,处理邮政请求以创建已经存在的客户端生成的ID的资源。

当客户需要采取其他措施(例如重定向)以完成请求时,通常使用3xx状态代码系列。更一般而言,状态代码将其交流与客户交流他们需要采取的措施或为他们提供有关请求的必要信息。
对于此类“不良”请求(例如重复出现的重复请求),您将使用400个状态代码响应,以向客户指示其请求存在问题,并且没有处理。您可以使用响应来更精确地交流问题。

也要考虑,如果请求只是对客户的“射击和忘记”,那么只要您处理了重复的案例并且不再需要向客户提供的行为,就可以接受200个响应。这告诉客户“收到并适当地处理了请求,您无需做更多。”但是,这有点欺骗性,因为它没有向客户端指示错误或允许任何修改的行为。

使用409代码,用于冲突例外,因此,它将为API用户提供一个清晰的想法。

1
投票
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.