I'm just getting started with MVC 4 Web API and I seem to be misunderstanding how it works.
Before Web API I had a simple MVC action method like this:
public JsonResult User()
{
return Json(new
{
firstName = "Joe",
lastName = "Jacobs",
email = "[email protected]"
});
}
That would work fine. In the new web API controller I am trying to do something similar.
public object User()
{
return new
{
firstName = "Joe",
lastName = "Jacobs",
email = "[email protected]"
}
}
This fails with a serialization error:
The 'ObjectContent`1' type failed to serialize the response body for content type 'application/xml; charset=utf-8'.
Inner exception:
Type '<>f__AnonymousType1`3[System.String,System.String,System.String]' cannot be serialized. Consider marking it with the DataContractAttribute attribute, and marking all of its members you want serialized with the DataMemberAttribute attribute. If the type is a collection, consider marking it with the CollectionDataContractAttribute. See the Microsoft .NET Framework documentation for other supported types.
What am I not understanding about returning anonymous type from the API controller?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…