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 x并y在输入方法时绑定到默认整数值.
我也试过了
[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)
但结果是一样的.我做错了什么?
表单标题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,并y在string并将其转换为int