1
我想實現一個搜索過濾器來獲取我的控制器之一中的對象。 我有以下代碼:FromUri似乎沒有工作Web API
public class SearchFilter
{
public DateTime? BusinessDate;
public DateTime? BusinessDateFrom;
public DateTime? BusinessDateTo;
public bool? Status;
}
這是我的控制器:
public SearchFilter get([FromUri] SearchFilter SearchFilter)
{
var Results = db.MyTable.Where(t => t.Published == true);
if (SearchFilter.BusinessDate != null)
{
Results = Results.Where(t => t.BusinessDate == SearchFilter.BusinessDate);
}
else
{
if (SearchFilter.BusinessDateFrom != null && SearchFilter.BusinessDateTo != null)
{
Results = Results.Where(t => t.BusinessDate >= SearchFilter.BusinessDateFrom && t.BusinessDate <= SearchFilter.BusinessDateTo);
}
}
if (SearchFilter.Status != null)
{
Results = Results.Where(t => t.Approved == SearchFilter.Status);
}
return SearchFilter;
}
我現在回到SearchFilter只是爲了看看它是否工作,因爲過濾不工作。
這是爲什麼:
請求:http://localhost:11513/api/MyController/?BusinessDateFrom=2015-09-10&BusinessDateTo=2015-09-12&BusinessDate=09/09/2015&Status=true
結果:
{
"BusinessDate": null,
"BusinessDateFrom": null,
"BusinessDateTo": null,
"Status": null
}
誰能解釋什麼,我做錯了,因爲根據這個環節應該是非常直截了當:
http://www.asp.net/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api
我剛剛發現這個問題 - 不幸的是我沒有擁有這個對象,所以我必須使用getters/setters創建一個DTO並使用automapper。 –