gpt4 book ai didi

c# - Web Api 服务器端处理和数据表参数

转载 作者:太空宇宙 更新时间:2023-11-03 21:18:51 24 4
gpt4 key购买 nike

我正在尝试创建一个对象来表示数据表提供给我的 Web API 调用的值,然后我会将其路由到另一个实际返回值的 API(以将数据表废话与 API 接口(interface)分开)。

在对数据表 wiki 进行了一些研究之后,我最终定义了以下对象:

public class DataTableParameters
{
public int draw { get; set; }
public int start { get; set; }
public int length { get; set; }
public order[] order { get; set; }
public column[] columns { get; set; }
}

public class order
{
public int column { get; set; }
public string dir { get; set; }
}

public class column
{
public string data { get; set; }
public string name { get; set; }
public bool searchable { get; set; }
public bool orderable { get; set; }
public search search { get; set; }
}

public class search
{
public string value { get; set; }
public bool regex { get; set; }
}

但是,当我尝试将它们用作 DataTables api Controller 的参数时,结果为空:

    public DataTableResult Get(DataTableParameters parameters) //parameters is null!
{
return new DataTableResult();
}

据我了解,模型绑定(bind)应该是读取结果并将其应用于我的对象。这是从前端调用 api 的示例:

Key Value
Request GET /MVC/api/DataTables?action=Get&draw=1&columns%5B0%5D%5Bdata%5D=0&columns%5B0%5D%5Bname%5D=&columns%5B0%5D%5Bsearchable%5D=true&columns%5B0%5D%5Borderable%5D=true&columns%5B0%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B0%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B1%5D%5Bdata%5D=1&columns%5B1%5D%5Bname%5D=&columns%5B1%5D%5Bsearchable%5D=true&columns%5B1%5D%5Borderable%5D=true&columns%5B1%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B1%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B2%5D%5Bdata%5D=2&columns%5B2%5D%5Bname%5D=&columns%5B2%5D%5Bsearchable%5D=true&columns%5B2%5D%5Borderable%5D=true&columns%5B2%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B2%5D%5Bsearch%5D%5Bregex%5D=false&columns%5B3%5D%5Bdata%5D=3&columns%5B3%5D%5Bname%5D=&columns%5B3%5D%5Bsearchable%5D=true&columns%5B3%5D%5Borderable%5D=true&columns%5B3%5D%5Bsearch%5D%5Bvalue%5D=&columns%5B3%5D%5Bsearch%5D%5Bregex%5D=false&order%5B0%5D%5Bcolumn%5D=0&order%5B0%5D%5Bdir%5D=asc&start=0&length=10&search%5Bvalue%5D=&search%5Bregex%5D=false&_=1440437669357 HTTP/1.1

为什么我的参数对象为空,我该如何解决?

编辑:我也试过这个:

 public DataTableResult Get(int draw, int start, int length, column[] columns, order[] order)
{
return new DataTableResult();
}

但我得到“无法将多个参数(‘列’和‘顺序’)绑定(bind)到请求的内容。”

最佳答案

UGH 不到 10 分钟后,我需要参数上的 [FromUri] 属性。

 public DataTableResult Get([FromUri]DataTableParameters parameters)
{
return new DataTableResult();
}

关于c# - Web Api 服务器端处理和数据表参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32188598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com