有没有办法支持"扩展"标准Web API 2控制器中的行为?我认为"扩展" OData控制器支持行为,但我认为这需要OData格式的url请求。因此,为了进一步简化这个问题,让我们说我正在寻找一种基于"扩展"以编程方式构建响应对象的方法。条件。以下是构建用户组子集合以随后在User对象上设置为Groups属性的示例:
private List<Group> GetUserGroups(Guid userId, List<Group> groups, List<Core.Models.GroupExtensionUserExtension> geueList, bool? expand)
{
var userGroupIds = geueList.Where(x => x.UserExtensionId == userId).Select(x => x.GroupExtensionId);
if (expand == null || expand == false) return userGroupIds.Select(x => new Group { Id = x }).ToList();
else return groups.Where(x => userGroupIds.Contains(x.Id)).ToList();
}
但是,当我使用这种方法调用GetUser时,所有Group属性名称都返回null值,尽管我只希望返回带有填充Id属性的Groups。我可以做些什么来实现我在标准Web API 2控制器中考虑的设计?