使用Web Api 2返回多个对象

时间:2014-04-26 14:30:19

标签: asp.net-mvc-4 asp.net-web-api2

我有get方法,它应该返回用户并拥有权限。我有一个用户对象和一个权限对象,我填充如下:

List<Users> users= MtFacade.GetUser(query);
List<UserPermissions> upermissions = MtFacade.GetUserPermission(User.Identity.Name);

我的API控制器返回一个HttpResponse,我需要使用这两个对象发回两批JSON。

如果我一次只返回一个,我可以这样做,但我如何将两者合并?

1 个答案:

答案 0 :(得分:3)

将它们包含在包含其类型属性的类中。

我确定你已经认识到这一点,因为你已经接受了答案,但是如果它帮助你或其他人看到这个问题,这是一个代码示例:

// this would be your class that can encompass the two objects
public class UsersAndPermissions
{
    public List<User> Users { get; set; }
    public List<UserPermissions> Permissions { get; set; }
}

在您的网络API方法中,使用上面的类

var usersAndPerms = new UsersAndPermissions
{
    Users = MtFacade.GetUser(query),
    Permissions = MtFacade.GetUserPermission(User.Identity.Name)
};

// now your json that you return from the web api has both of the objects data
return usersAndPerms;