从.NET 4.5控制台应用程序中使用MVC 4.0 Web API时出现以下错误。 “没有MediaTypeFormatter可用于从媒体类型为'text / html'的内容中读取'IEnumerable`1'类型的对象。” 请帮忙! 以下是我的代码:
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:30151/");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
//List all Customers
HttpResponseMessage response = client.GetAsync("api/customers").Result;
if (response.IsSuccessStatusCode)
{
var customers = response.Content.ReadAsAsync<IEnumerable<Customer>>().Result;
foreach (var c in customers)
{
Console.WriteLine("ID: {0}\tName: {1}\tAddress: {2}\tEmail: {3}\tPhone: {4}", c.id, c.name, c.address, c.email, c.phone);
}
}
else
{
Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase);
}
Console.Read();
答案 0 :(得分:0)
确保将发布数据的内容类型设置为“application / json”如果您的内容类型为“text / html”,则服务器将无法正确解释
Content-Type: application/json
答案 1 :(得分:0)
您的客户端代码看起来很好。我怀疑服务器没有返回它应该的东西。使用fiddler实际查看服务器返回的内容。