WebApi获取请求绑定到复杂类型

时间:2015-08-31 18:17:50

标签: c# asp.net asp.net-web-api

我的客户控制器有:

public IHttpActionResult Get([FromUri]PagingOptions pagingOptions, [FromUri]string searchText = null)
{
    //...

该课程定义为:

public class PagingOptions
{
    public int PageIndex = 0;
    public int PageSize = 100;
}

然而我得到0& 100用:

GET clients?pageSize=2&pageIndex=0

如果我制作控制器方法:

public IHttpActionResult Get([FromUri]int pageIndex, [FromUri]int pageSize, [FromUri]string searchText = null)
{
    //...

然后它工作正常。

出了什么问题?我已经拥有FromURI属性(因为大多数其他问题都没有)

1 个答案:

答案 0 :(得分:2)

为了正确绑定 - 指定属性而不是字段 对于默认值 - 将它们设置为构造函数

public class PagingOptions
{
    public PagingOptions()
    {
        PageIndex = 0;
        PageSize = 100;
    }
    public int PageIndex {get;set;}
    public int PageSize {get;set;}
}