FromHeader Asp.NET Core绑定到默认值

Gui*_*rme 3 c# asp.net binding http-headers asp.net-core-webapi

我正在使用以下基本控制器测试Asp.Net核心WebApi:

[Route("test")]
public class TestController
{
    [Route("mult")]
    [HttpGet]
    public int Multiply(int x, int y)
    {
        return x * y;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,在Fiddler中,我发送以下请求:

在此输入图像描述

并且,由于某种原因,响应为0. Booth xy在输入方法时绑定到默认整数值.

我也试过了

[Route("test")]
public class TestController
{
    [Route("mult")]
    [HttpGet]
    public int Multiply([FromHeader]int x, [FromHeader]int y)
    {
        return x * y;
    }
}
Run Code Online (Sandbox Code Playgroud)

但结果是一样的.我做错了什么?

Usm*_*man 9

表单标题string不接受int 您的代码应该是

[Route("test")]
public class TestController
{
        [Route("mult")]
        [HttpGet]
        public int Multiply([FromHeader]string x, [FromHeader]string y)
        {

            return Int32.Parse(x) * Int32.Parse(y);
        }
}
Run Code Online (Sandbox Code Playgroud)

你必须得到的值x,并ystring并将其转换为int