2

我有一个非常基本的 webApi 构建/运行(几乎是模板应用程序,仅此而已),以便跟随培训视频。GET 和 DELETE 调用工作正常,PUT 和 POST 给出 400 错误。诚然,这一切都很新,所以我正在寻找一些关于如何排除故障的基本方向。以下是相关的屏幕截图,我很乐意根据要求提供其他人。提前致谢。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

3 回答 3

4

您正在尝试发出在其正文中需要字符串值的 POST 请求。

进入 Postman Request 的 Body 部分,然后选择form-dataadd valueas parameterName 和This is test stringas parameter value

在此处输入图像描述

于 2019-01-28T21:14:29.797 回答
0

我知道这个非常古老的线程,但可以帮助发布我的答案的人。尝试更新您的方法属性 [HttpPost("New")] 并将其称为 http:localhost//api/new。

于 2020-05-22T07:04:40.853 回答
0

我的是 .net 核心上的开发环境。

这让我发疯了,浪费了 5 个小时,所有这些都阻止了来自浏览器调用或 Postman 的发布请求。

以下三个更改在 3 个不同的场景中帮助了我。

  1. 首先,我禁用了 https 并将其设置为仅 http。注释掉 sslPort 并从 https 中删除“s”。

应用程序设置 json 文件中的启动 url

  1. 接下来我觉得 xsrf/csrf 令牌引起了问题,所以我禁用了 Anti Forgery 令牌,如下所示。如您所见,我在控制器级别应用了 IgnoreAntiforgeryToken 属性,但您也可以根据需要在操作方法级别应用。无论如何都会发送令牌,但您可以要求 .net 核心对该路由忽略它。

在控制器级别应用防伪令牌

  1. 最后,我注意到 action 方法中的 ApiVersion 参数也引起了问题,所以我也将其注释掉。

带有 FromRoute 属性的 ApiVersion 参数

于 2021-07-04T05:02:42.860 回答