FromHeader Asp.NET Core binding to default value
15,196
Solution 1
form headers accept string
not int
so your code should be
[Route("test")]
public class TestController
{
[Route("mult")]
[HttpGet]
public int Multiply([FromHeader]string x, [FromHeader]string y)
{
return Int32.Parse(x) * Int32.Parse(y);
}
}
you have to get values of x
and y
in string
and convert it to int
Solution 2
Apparently it was initially thought this wouldn't be needed and they were waiting for feedback. However, it looks like it will likely be in the 2.1.0 milestone according to issue 5859.
Comments
-
Guilherme almost 2 years
I'm testing Asp.Net core WebApi with the following basic controller:
[Route("test")] public class TestController { [Route("mult")] [HttpGet] public int Multiply(int x, int y) { return x * y; } }
Then, in Fiddler, I send the following request:
And, for some reason, the response is 0. Both
x
andy
are binded to the default integer value when entering the method.I also tried:
[Route("test")] public class TestController { [Route("mult")] [HttpGet] public int Multiply([FromHeader]int x, [FromHeader]int y) { return x * y; } }
But the result is the same. What am I doing wrong?