我无法使用 POSTMAN 创建 POST 请求,但在 Swagger 上执行此操作没有问题

Posted

技术标签:

【中文标题】我无法使用 POSTMAN 创建 POST 请求,但在 Swagger 上执行此操作没有问题【英文标题】:I cannot create a POST request using POSTMAN, but I have no problems doing it on Swagger 【发布时间】:2022-01-02 04:41:19 【问题描述】:

我有一个可以接收 Post 请求的控制器。

public IHttpActionResult PostCreaAlimento([FromBody] Alimento alimento)
    
        if (!ModelState.IsValid)
            return BadRequest("Invalid data.");

        return _repositorio.CreaAlimento(alimento) ? Ok(alimento) : (IHttpActionResult)NotFound();
    

请求在 swagger 上正确完成,我收到响应代码 200。

但是,如果我尝试在 POSTMAN 上执行相同操作,我会收到不受支持的媒体文件。

Request on POSTMAN

为什么这不起作用:/

【问题讨论】:

谢谢大家!!!!很多关于http请求的东西我还是不明白,但我会继续做测试。 【参考方案1】:

由于您在操作中使用 [FromBody],这意味着您需要发送 application/json contentType 所以选择 Body=> raw => json 并将其放入 Postman 的正文中


    "AlimentoId":4,
    "Description":"testing",
    "Calorias" :400

【讨论】:

【参考方案2】:

请尝试 raw,而不是 form-data。确保您选择 JSON。接下来将您的数据准备为 json 对象。

【讨论】:

【参考方案3】:

您将 json 数据作为表单数据传递,但您的控制器接受请求正文数据作为原始数据。您应该将体型更改为原始数据。

【讨论】:

以上是关于我无法使用 POSTMAN 创建 POST 请求,但在 Swagger 上执行此操作没有问题的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 Postman 将 POST json 请求发送到 restful api

POST 请求适用于 Postman,但不适用于 axios 或 .fetch()

MAXIMO API 7.6.1 POST 以编程方式创建服务请求创建空记录,但在 POSTMAN 中同样有效

POST 请求适用于 Postman,但不适用于 axios.post()

Postman 不支持请求方法“POST”

Postman Web 版本中的“无法发送请求”错误