我有一个非常基本的 webApi 构建/运行(几乎是模板应用程序,仅此而已),以便跟随培训视频。GET 和 DELETE 调用工作正常,PUT 和 POST 给出 400 错误。诚然,这一切都很新,所以我正在寻找一些关于如何排除故障的基本方向。以下是相关的屏幕截图,我很乐意根据要求提供其他人。提前致谢。
8276 次
3 回答
0
我知道这个非常古老的线程,但可以帮助发布我的答案的人。尝试更新您的方法属性 [HttpPost("New")] 并将其称为 http:localhost//api/new。
于 2020-05-22T07:04:40.853 回答
0
我的是 .net 核心上的开发环境。
这让我发疯了,浪费了 5 个小时,所有这些都阻止了来自浏览器调用或 Postman 的发布请求。
以下三个更改在 3 个不同的场景中帮助了我。
- 首先,我禁用了 https 并将其设置为仅 http。注释掉 sslPort 并从 https 中删除“s”。
- 接下来我觉得 xsrf/csrf 令牌引起了问题,所以我禁用了 Anti Forgery 令牌,如下所示。如您所见,我在控制器级别应用了 IgnoreAntiforgeryToken 属性,但您也可以根据需要在操作方法级别应用。无论如何都会发送令牌,但您可以要求 .net 核心对该路由忽略它。
- 最后,我注意到 action 方法中的 ApiVersion 参数也引起了问题,所以我也将其注释掉。
于 2021-07-04T05:02:42.860 回答