0
我的ASP.NET Web API類有有各種過濾器,其分別對應從URI的過濾器類GET端點:的Web API模型綁定CSV
控制器:
public IHttpActionResult List([FromUri] FilterModel filter)
過濾器類:
:public class FilterModel {
public int Something {get;set;}
public int[] UserIds {get;set;}
...lots of other properties...
}
我想用戶ID被作爲一個逗號分隔的列表傳遞0
但是,這是網絡API,它預計:
http://foo.com/api/things?UserIds=1&UserIds=2&UserIds=3
有沒有辦法解決這個問題的簡單方法。我發現我可以創建一個自定義模型綁定器,但對於99%的模型綁定,我不想改變任何東西。我的理想解決方案是這樣的:
public class CustomModelBinder : IModelBinder
{
public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
{
// Access the "default" model that's created from the Uri params
var model = ???
// Then do some work to bind the UserIds
return true;
}
}
任何想法?
感謝
您需要創建一個自定義媒體類型格式化程序,例如:[link](http://stackoverflow.com/questions/15633402/csv-media-type-formatter-for-asp-net-web-api) –