JSON:API HTTP 状态代码,用于避免重复内容创建

Cyr*_*ris 3 api duplicates http-response-codes json-api ruby-on-rails-5

假设我有一个支持创建新消息的端点。我避免在后端创建两次相同的消息,以防用户尝试按按钮两次(或者前端应用程序行为异常)。

目前,对于重复操作,我的服务器正在响应 303 see other 指向先前创建的资源 URL。但我发现我也可以使用 302 发现。哪一个看起来更合适?

请注意,重复避免策略可能更复杂(例如,对于约会,我们将检查发布的约会是否在现有约会的一小时内)

小智 6

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