数据塑性
基本事项
-
目的:允许Api消费者可以选择自己要返回的资源的字段
-
请求方式:/api/colleges?fields=id,name
-
目标:针对资源的字段;而非其它更底层的字段
代码
public static class IEnumerableExtensions
{
/// <summary>
/// IEnumerable的拓展方法
/// </summary>
/// <typeparam name="Tsource">元数据的类型</typeparam>
/// <param name="source">数据源</param>
/// <param name="fields">塑性字符串</param>
/// <returns></returns>
public static IEnumerable<ExpandoObject> ShapeData<Tsource>(
this IEnumerable<Tsource> source , string fields)
{
if (source == null) throw new ArgumentNullException(nameof(source));
//新建一个存放数据的list
var expandoObjectList = new List<ExpandoObject>(source.Count()