2013-04-25 62 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可能会是一个更好的选择。