Asp.net core 将整数数组传递给ASP.NET核心中的ApiController

Asp.net core 将整数数组传递给ASP.NET核心中的ApiController,asp.net-core,Asp.net Core,我在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("C

我在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
    [HttpGet("CalculateSumOfArray")]
    public int CalculateSumOfArray([FromQuery(Name = "values")] int[] values)
    {
        return values.Sum();
    }
第一个方法处理如下调用:

[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
    [HttpGet("CalculateSumOfArray")]
    public int CalculateSumOfArray([FromQuery(Name = "values")] int[] values)
    {
        return values.Sum();
    }
但第二点:

https://localhost:44346/api/Sum/CalculateSumOfArray?values=1&values=2&values=3
只需回答:

{"":["The input was not valid."]}.

我是否需要执行一些特殊操作,以便能够将数组发送到ApiController?

添加FromQuery属性,如下所示:

[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
    [HttpGet("CalculateSumOfArray")]
    public int CalculateSumOfArray([FromQuery(Name = "values")] int[] values)
    {
        return values.Sum();
    }