C# asp.net核心web api带括号的Post表单数据

C# asp.net核心web api带括号的Post表单数据,c#,asp.net,asp.net-web-api,asp.net-core,C#,Asp.net,Asp.net Web Api,Asp.net Core,我正在使用asp.net core(v2.1)web api运行服务器构建,并具有以下REST HTTP调用: POST http://website.com/callback 使用标题: ... Content-Type: application/x-www-form-urlencoded 和机构: response%5Bkey%5D=123&response%5Bname%5D=hi 我想在此时收到此消息: [HttpPost] [Route("callbacks")] pub

我正在使用asp.net core(v2.1)web api运行服务器构建,并具有以下REST HTTP调用:

POST http://website.com/callback
使用标题:

...
Content-Type: application/x-www-form-urlencoded
和机构:

response%5Bkey%5D=123&response%5Bname%5D=hi
我想在此时收到此消息:

[HttpPost]
[Route("callbacks")]
public ActionResult Hook([FromForm]Model model)
{
    // <---- Model has instance but empty fields
    return Ok();
}
不知何故,括号(“[key]”和“[name]”)没有被解析到我的模型实例中。它们都是空的,尽管我在body中提供了它们


如何解决此问题?

您应该在表单中为您的属性设置名称:

public class Model
{
    [FromForm(Name = "response[key]")]
    public string key { get; set; }

    [FromForm(Name = "response[name]")]
    public string name { get; set; }
}

为什么身体这么奇怪?如何提交表格
public class Model
{
    [FromForm(Name = "response[key]")]
    public string key { get; set; }

    [FromForm(Name = "response[name]")]
    public string name { get; set; }
}