微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带参数的数据表的实现 API

如何解决带参数的数据表的实现 API

我正在使用 ASP.NET Core (.NET5) 在我的 Web 应用程序中实现一个简单的数据表。数据来自我创建的 API,它正在运行。

[HttpPost]
public IActionResult Post([FromForm] string draw,[FromForm] string length,[FromForm] string start)
{
    var sortColumn = Request.Form["columns[" + 
                     Request.Form["order[0][column]"].FirstOrDefault() + 
                     "][name]"].FirstOrDefault();
    var sortColumnDirection = Request.Form["order[0][dir]"].FirstOrDefault();
    var searchValue = Request.Form["search[value]"].FirstOrDefault();

    int pageSize = !string.IsNullOrEmpty(length) ? Convert.ToInt32(length) : 10;
    int skip = !string.IsNullOrEmpty(start) ? Convert.ToInt32(start) : 0;
    int recordsTotal = 0;

    var customerData = (from tempcustomer in _db.Countries select tempcustomer);
    if (!(string.IsNullOrEmpty(sortColumn) && string.IsNullOrEmpty(sortColumnDirection)))
        customerData = customerData.OrderBy(sortColumn + " " + sortColumnDirection);

    if (!string.IsNullOrEmpty(searchValue))
        customerData = customerData.Where(m => m.Name.Contains(searchValue));

    recordsTotal = customerData.Count();

    var data = customerData.Skip(skip).Take(pageSize).ToList();
    var jsonData = new { draw = draw,recordsFiltered = recordsTotal,recordsTotal = recordsTotal,data = data };
    return Ok(jsonData);
}

因为我想对 Swagger 或应用程序的其他部分使用相同的 API,所以我试图在函数定义中使用所有参数,在上面的示例 Post 中。我不知道如何使用 sortColumnsortColumnDirectionsearchValue 之类的参数。

问题是那些变量是数组。下图中的示例。

enter image description here

我想到的第一个解决方案是为 Swagger 添加一个不同的参数,在下面的示例中查看我在 search 中的意思,然后在代码中检查我想使用的值.

public IActionResult Post([FromForm] string draw,[FromForm] string start,string search)
{
    //... 

    var searchValue = search ?? Request.Form["search[value]"].FirstOrDefault();

    // ...
}

是否可以在接收值数组的函数定义中添加一个参数,然后在代码中读取它所要求的内容?例如,接收 columns 数组的参数。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。