我需要发送和接收一个IList到我的Web API:发送和接收一个IList <int>与ASP.NET网页API
API方法:
public IList<int> GetKeywordIdsFromIds([FromUri]List<int> ids)
{
// this methods retuns null or an IList<int>
return _iKeywordService.GetKeywordIdsFromIKeywordIds(ids);
}
调用方法:
public List<int> GetKeywordIdsFromIds(IList<int> iKeywordIds)
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(API_BASE_URL);
client.DefaultRequestHeaders.Accept.Clear();
return client.GetAsync(url + iKeywordIds).Result.Content.ReadAsAsync<List<int>>().Result;
}
}
我得到错误:
Exception:Thrown: "No MediaTypeFormatter is available to read an object of type 'List`1' from content with media type 'text/html'." (System.Net.Http.UnsupportedMediaTypeException)
编辑:
我不知道这是否帮助,但我得到这个从IIS日志文件:
2014-03-31 16:11:31 127.0.0.1 GET /api/ikeyword/getkeywordidsfromids/System.Collections.Generic.List`1[System.Int32] - 80 - 127.0.0.1 - 404 0 2 1
EDIT2:
默认路由:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
看到这个帖子,如何将参数添加到您的代码:http://stackoverflow.com/questions/217070/how-do-i-add-query -parameters-to-a-getmethod-using-java-commons-httpclient –
嗨,谢谢,但是我没有看到IList的任何示例 –
Patrick
你在哪里列出了'List IDS?你把它留在体内还是尿吗? –