我正在使用ASP.NET API,我想从控制器返回一个对象,到目前为止我一直在使用return Ok(item);
。
这将返回该项目的所有属性,但是我想从中返回选定的属性,例如名称和日期而不是所有内容。
我该如何做到这一点?
答案 0 :(得分:1)
您可以使用匿名类型;应该可以正常工作:
return Ok(new { name = item.Name, date = item.Date});
如果没有,您只需创建一个具有Name / Date属性的类;就像你返回item并将它序列化为一个JSON对象一样,匿名和自定义类也会序列化OK。
编辑:如果您有内部集合,您还可以通过以下方式生成子集:
new {
name = item.Name,
moreitems = item.subitems.Select(i => new { name = i.Name, etc })
}
或者,这是创建具有属性子集的视图模型可能有益的地方,以使过程更容易。