我正在创建一个webapi来返回数据。我已经构建了以下产品/子产品类和硬编码数据。当我测试api时,只返回产品信息。没有提到儿童产品。我错过了什么?这是代码: POCO课程:
public class Product
{
public Product()
{
}
public string ProductCode { get; set; }
public List<SubProduct> SubProducts { get; private set; } = new List<Domain.SubProduct>();
}
public class SubProduct
{
public SubProduct()
{
Plans = new List<Plan>();
}
public Product Product { get; set; }
public string SubProductCode { get; set; }
}
web api控制器代码:
public class OdsDataController : ApiController
{
public IHttpActionResult GetTestData()
{
List<Domain.Product> returnData = new List<Domain.Product>();
returnData.Add(new Domain.Product { ProductCode = "123" });
returnData.First().SubProducts.Add(new Domain.SubProduct { SubProductCode = "1255" });
return Ok(returnData);
}
}
在浏览器中,当我点击此方法时,我得到: http://localhost:56459/api/OdsData/gettestdata
[{ “产品代码”: “123”}]
即使在小提琴手中,我只看到了ProductCode
知道为什么我没有得到子产品信息?我错过了什么明显的东西? 谢谢 d
答案 0 :(得分:0)
对我来说没有意义,但我必须在类上添加Serializable和DataContract属性。在属性上,我必须添加DataMember属性。然后它按预期工作。 以下是其他人的代码..如果需要:
[Serializable]
[DataContract]
public class Product
{
public Product()
{
}
[DataMember]
public string ProductCode { get; set; }
[DataMember]
public List<SubProduct> SubProducts { get; private set; } = new List<Domain.SubProduct>();
}