尽管 API 在其他地方工作,但 Postman Post 无法正常工作

GrillOwner69420

我有一个带有此帖子端点的 ASP.NET Core Web API 项目:

   [HttpPost("post")]
        public async Task<ActionResult<Player>> PostPlayer(Player player)
        {
            _context.Players.Add(player);
            await _context.SaveChangesAsync();

            return CreatedAtAction("GetPlayer", new { id = player.Id }, player);
        }

我可以使用此 JSON 负载在 Swagger 中向该端点发出发布请求:

{
  "handle": "Cole",
  "role": "Fixer",
  "avatar": "null"
}

在这个地址:https://localhost:44326/api/Players/post

它成功地创建了一个新的播放器。

但是,在 Postman 中使用相同的地址和相同的 JSON 有效负载作为正文,我得到了这个:

{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.13",
    "title": "Unsupported Media Type",
    "status": 415,
    "traceId": "00-36aa0c0b65a981479a1bb99d32400eff-77eb26e1d840de4d-00"
}

这到底是什么意思?为什么这种 post 方法在 Postman 中不起作用?我所有的 Get 端点在 Postman 中都可以正常工作,只是不是这个。

用户2716454

如果您的请求正文是 JSON,您需要确保在 Postman 的正文选项卡中选择了正确的标头和正确的请求类型。

  • Content-Type标题设置application/json(如果不存在则添加)。
  • 转到Postman 的Body选项卡,选择原始单选按钮,然后从单选按钮旁边的下拉列表中选择JSON

如果上述步骤不起作用,那么最好的方法是将工作请求(来自 Swagger)与 Postman 请求进行比较。您可以这样做:

  • 在 Google Chrome 浏览器中打开 swagger 页面,然后打开开发人员工具(在 Chrome 中的 Swagger 页面上右键单击,然后单击Inspect)。它将打开开发人员工具。
  • 转到Developer ToolsNetwork选项卡,选择Fetch/XHR filter
  • 然后通过单击Swagger的“立即尝试”按钮向您的 API 发出请求
  • 您将在“网络”选项卡的详细信息中看到 API 调用然后,您可以检查您的 Web 应用程序发送到 API 的标头。检查它为Content-Type标头传递的值

一旦您在“网络”选项卡中跟踪了一个工作请求,就应该很容易弄清楚您的 Postman 请求与 Swagger 请求的不同之处。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

尽管查询在其他地方工作,但Sqlite PreparedStatement不返回ResultSet

Github API:无法从代码中获取组织成员列表......尽管 Postman 的工作原理相同

远程验证在其他地方工作

类型“在其他地方工作”的异类大小向量

使用 Jersey 到 API 的 POST 请求出错,与 POSTMAN 一起工作正常

未捕获ReferenceError:未定义dcount,但在其他地方工作正常

使用 Enter 按钮提交,同时在其他地方正常工作

PHP的SQLSRV驱动程序将无法完成在其他地方正常工作的存储过程查询

Rails不在项目目录中工作,在其他地方工作

尽管遵循此处和其他地方的说明,仍无法在Raspbian中使用libssh编译代码

POST通话无法正常工作

VueJS MEVN 堆栈 - axios put 'Error: Request failed with status code 404' 尽管 Postman 'put' 工作正常

CATransition在UITabBarController中不起作用(但在其他地方工作)

onActivityResult() 没有被调用,但在其他地方工作

子实体链接不会在ApiTestCase中返回,而是在其他地方工作

umask在主目录以外的其他地方无法正常工作

无法使Wikipedia的API正常工作

Facebook API无法正常工作

Pinterest API无法正常工作

API 连接无法正常工作

尽管取消了对每个视图的关注,setOnItemClickListener无法正常工作

尽管提到Lib,jQuery脚本仍无法正常工作

尽管显示正确的地址,超链接公式仍无法正常工作

尽管文件在预期的位置,内容管道仍无法正常工作

尽管链接正确,但HTML img标签无法正常工作

尽管设置了高度,隐藏的溢出仍无法正常工作

POST无法正常工作,而GET工作正常(xmlhttp)

Python /请求-尽管可以在Postman中运行,但无法正确发送POST

POST API如何在Postman中工作而不在改造中工作?