2013-04-25 186 views
10

我被告知要爲客戶端設計一個API來處理一些數據。 現在,試圖跟上瓊斯',我設計了這個使用WebAPI。 我通過$ .Ajax發佈到我的Restful Webservice對象Restful Webservices比較WebAPI vs MVC

爲什麼這與使用相同的$ .Ajax發佈到標準MVC 4.0控制器有什麼不同?

有什麼優勢?

感謝

====

關於可能的答案:

注意:如果你已經在ASP.NET MVC的工作,那麼你已經熟悉控制器。它們在Web API中的工作方式類似,但Web API中的控制器派生自ApiController類而不是Controller類。您將注意到的第一個主要區別是Web API控制器上的操作不返回視圖,它們會返回數據。

====

這是不是仍然是多餘的,畢竟可以隨時

return JSON(x); 

任何MVC控制器。

+1

如果您使用MVC的APIController比WebAPI沒什麼不同。看到這個問題:http://stackoverflow.com/questions/9494966/difference-between-apicontroller-and-controller-in-asp-net-mvc – 2013-04-25 19:26:28

+0

在這個主題有趣的職位在這裏:http://encosia.com/asp -net-Web的API-VS-ASP淨MVC的API / – 2013-04-25 19:37:16

回答

1

您的$ .Ajax方法沒有區別。你的網頁不應該關心ajax服務器如何實現,儘管它必須知道它是否支持oData這樣的東西,而不是。

在服務器端,它們之間有很多不同之處。當然,您可以在MVC中創建Ajax處理程序,但WebAPI爲您提供了更多的工具和更多的功能。

2

MVC針對網頁瀏覽器作爲客戶端進行了優化。 Web API更能夠支持許多不同的客戶端。如果你唯一的客戶端是一個網頁瀏覽器,那麼MVC可能會是一個更好的選擇。