我尝试使用IHttpActionResult
方法返回某个对象的列表,使用return Ok(new object {});
可以轻松返回该对象的单个实例。但是,添加预设的单个对象或列表时,结果为:
"' ObjectContent`1'类型无法序列化内容类型的响应主体' application / json;字符集= UTF-8'"
我检查了列表/对象的内容是否正确,并且返回此对象的单个实例作为新对象确实有效。有谁知道如何以这种方式或以其他方式返回列表或IEnumerable?
代码:
[HttpGet]
[Route("api/v1/GetArticles/{code}/{companycode}")]
public IHttpActionResult GetArticles(int code, string companycode)
{
BusinessLogic.Database.DbEntity dc = new BusinessLogic.Database.DbEntity();
try
{
if (companycode.Equals("null", StringComparison.InvariantCultureIgnoreCase))
{
List<BusinessLogic.Database.Item> items = ItemEntity.GetItems(code, null, dc);
return Ok(items);
}
else
{
List<BusinessLogic.Database.Item> items = ItemEntity.GetItems(code, companycode, dc);
return Ok(items);
}
}
catch (Exception ex)
{
return BadRequest(ex.Message);
}
}
工作单个实例:
BusinessLogic.Database.Item item = ListEntity.GetItem(code, null, dc);
//Does not work
//return Ok(item);
//Works
return Ok(new BusinessLogic.Database.Item {
Name = item.Name,
Code = item.Code
});