小编Rey*_*ldi的帖子

ASP.NET MVC Core 3.0 - 为什么来自主体的 API 请求不断返回 !ModelState.IsValid?

我目前正在使用ASP.NET MVC Core 3.0创建一个 API 项目。我成功发送了一个没有参数的 POST 请求。但是目前我在尝试通过 Postman 发送带有 JSON 参数的 POST 请求时遇到问题,总是收到无效请求,如下所示。

在此处输入图片说明

请注意,key查询字符串中还有param 用于使用我创建的中间件授权请求。这部分没有问题。

这是控制器的代码:

[ApiVersion("1.0")]
[Route("api/v{version:apiVersion}/[action]")]
[ApiController]
public class ValuesController : ControllerBase
{
    // POST api/values
    [HttpPost]
    public IActionResult Post([FromBody] UserRequest model)
    {
        if (!ModelState.IsValid)
            return BadRequest(new ApiResponse(400, "Model state is not valid."));

        return Ok($"Hello world, {model.Id}!");
    }
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我已经创建并使用了类 UserRequest 作为参数输入,如下所示:

public class UserRequest
{
    public string Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我的Startup.cs设置,我已经添加AddNewtonsoftJson以启用 JSON 序列化程序输入:

public void …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api asp.net-core

2
推荐指数
1
解决办法
5922
查看次数

标签 统计

asp.net-core ×1

asp.net-web-api ×1

c# ×1