如果控制器本身可以返回JSON,为什么我们需要Web API呢?

时间:2016-08-14 10:24:46

标签: json asp.net-web-api controller

我对WebAPI感到困惑。

假设我想要一个URL的JSON结果,我可以在客户端使用它来执行特定的操作。

我有如下控制器:

[HttpGet]
public string GetUsers()
{
    List<Users> _u = new List<Users>();
    _u.Add(new User() { Name = "Jon", Age = "22" });
    _u.Add(new User() { Name = "Doe", Age = "24" });
    _u.Add(new User() { Name = "Mike", Age = "20" });

    return JsonConvert.SerializeObject(_u);
}

上面的控制器将完美地返回JSON数据。

那么根本需要使用WebAPI呢?

1 个答案:

答案 0 :(得分:1)

您正在自行进行序列化,而您不必在WebAPI方法中进行序列化(只需返回用户列表)。您还将API限制为JSON,而在使用WebAPI时通常可以指定内容类型。另外,WebAPI为您提供了许多辅助函数(例如,为404返回NotFound())。