我无法使用 POSTMAN 创建 POST 请求,但我在 Swagger 上没有遇到任何问题

I cannot create a POST request using POSTMAN, but I have no problems doing it on Swagger

我有一个可以接收 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

为什么这不起作用:/

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

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

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

的正文中
{
    "AlimentoId":4,
    "Description":"testing",
    "Calorias" :400
}