我在ASP.NET Core 2.1中有一个简单的api控制器,如下所示:
[Route("api/[controller]")]
[ApiController]
public class SumController : ControllerBase
{
[HttpGet("CalculateSum")]
public int CalculateSum(int a, int b)
{
return a + b;
}
[HttpGet("CalculateSumOfArray")]
public int CalculateSumOfArray(int[] values)
{
return values.Sum();
}
}
第一个方法可用于如下调用:
https://localhost:44346/api/Sum/CalculateSum?a=1&b=2
但是第二个:
https://localhost:44346/api/Sum/CalculateSumOfArray?values=1&values=2&values=3
只需回复:
{"":["The input was not valid."]}.
我是否需要做一些特殊的事情才能将数组发送到ApiController?
答案 0 :(得分:0)
添加 FromQuery 属性,如下所示:
[HttpGet("CalculateSumOfArray")]
public int CalculateSumOfArray([FromQuery(Name = "values")] int[] values)
{
return values.Sum();
}