邮递员400对Web Api的错误请求

时间:2019-01-28 21:10:50

标签: http postman asp.net-core-webapi

为了观看培训视频,我有一个非常基本的webApi内置/正在运行(几乎是模板应用程序,仅此而已)。 GET和DELETE调用工作正常,PUT和POST给出400错误。承认这是非常新的东西,因此我正在寻找一些基本的故障排除指导。随后是相关的屏幕截图,我很乐意按要求提供其他屏幕截图。预先感谢。

enter image description here

enter image description here

enter image description here

enter image description here

3 个答案:

答案 0 :(得分:2)

您正在尝试发出POST请求,该请求的主体中需要字符串值。

转到“邮递员请求”的“正文”部分,选择form-data,然后将value添加为parameterName,并将This is test string添加为参数值

enter image description here

答案 1 :(得分:0)

我知道这个非常老的话题,但可能会对某人有所帮助,所以发布我的答案。 尝试更新您的方法属性[HttpPost(“ New”)],并将其称为http:localhost // api / new。

答案 2 :(得分:0)

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

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

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

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

launch url in application settings json file

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

Applying anti forgery token at controller level

  1. 最后,我注意到 action 方法中的 ApiVersion 参数也导致了问题,因此我也将其注释掉了。

ApiVersion parameter with FromRoute attribute