gpt4 book ai didi

.net - 如何在 web api 中处理重复的帖子请求

转载 作者:行者123 更新时间:2023-12-02 14:55:37 24 4
gpt4 key购买 nike

我有一个场景,用户在表单中输入他的所有详细信息,然后在 Asp.Net Web api 中单击提交(发布请求)。如果用户点击 Post 按钮两次会怎样。我如何处理请求。

请任何人回答这个问题。

最佳答案

我完全不同意@keysl,如果你正在创建一个 API,你可能应该考虑让它成为 RESTFul,其余服务应该是幂等的,take a read of this article也许:

“在 REST API 的上下文中,发出多个相同的请求与发出单个请求具有相同的效果”

更新

POST 的效果是一样的,创建一条新记录!如果存在唯一性约束,那么您应该返回正确的状态代码,例如 400。在我使用的 API 中,我们将返回 400 和一个包含验证/验证失败原因信息的 JSON 对象。

如果 API 是公开的,那么这就是您所能做的所有事情,您不必为人们使用您的 API 访问的内容负责。我在一个拥有超过一千个端点的公共(public) API 上工作,我们不担心用户意外提交数据两次,我们只是验证唯一性。

如果这个问题询问的是支持网站的私有(private)端点,那么我完全同意禁用提交按钮,但您仍应在后端 API 中使用验证,并且前端应处理 400 的返回优雅地。

虽然@keysl 所说的都是有效的东西(除了 DTO 是 POCO,说起来很奇怪)我认为第 1、2 和 4 点与问题完全无关, View 模型无关用户点击按钮两次!

关于.net - 如何在 web api 中处理重复的帖子请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53075474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com