【问题标题】:How to pass an array of int in ASP.NET Core Web API如何在 ASP.NET Core Web API 中传递一个 int 数组
【发布时间】:2019-01-29 22:18:11
【问题描述】:

我有这个 Web API 方法:

[Route("api/[controller]")]
[ApiController]
public class SubjectsController : ControllerBase
{
    [HttpGet("children")]
    public IActionResult GetAllFromChildren([FromQuery]int[] childrenIds)
    {
        // omitted for brevity
    }
}

我试图通过 Ajax 调用它并传入一个查询字符串,但我似乎无法让它工作。我的 Ajax 调用如下所示:

$.ajax({
    url: "/api/subjects/children?childrenIds=1&childrenIds=2&childrenIds=3",
    method: "GET",
    contentType: "application/json; charset=utf-8"
})

该方法被调用,但 int 数组没有被填充。我做错了什么?

【问题讨论】:

标签: c# asp.net-core asp.net-core-webapi


【解决方案1】:

尝试将Name 添加到[FromQuery],因此代码应如下所示:

[Route("api/[controller]")]
[ApiController]
public class SubjectsController : ControllerBase
{
    [HttpGet("children")]
    public IActionResult GetAllFromChildren([FromQuery(Name="childrenIds")]int[] childrenIds)
    {
        // omitted for brevity
    }
}

和这样的ajax url:

$.ajax({
    url: "/api/subjects/children?childrenIds=1&childrenIds=2&childrenIds=3",
    method: "GET",
    contentType: "application/json; charset=utf-8"
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-26
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    • 2020-09-10
    相关资源
    最近更新 更多