2017-05-06 127 views
2

我测试Asp.Net核心的WebAPI以下基本控制器:FromHeader Asp.NET核心结合为缺省值

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

然后,在提琴手,我发送以下请求:

enter image description here

而且,由于某些原因,响应为0.在进入该方法时,xy的展位被绑定到默认整数值。

我也试过

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

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

回答

3

形式头接受stringint所以你的代码应该是

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

      return Int32.Parse(x) * Int32.Parse(y); 
     } 
} 

你必须得到的xystring并将其转换为int

+0

谢谢,这个作品。 – Guilherme

1

显然,它最初被认为这止跌”不需要,他们在等待反馈。然而,根据issue 5859,它看起来可能会在2.1.0里程碑。

+0

这听起来很不错。此外,这是记录不好的。 – Guilherme