Restful Web Services比较Web API与MVC

时间:2013-04-25 19:22:48

标签: jquery asp.net-mvc asp.net-web-api

有人告诉我为客户设计一个API来操作一些数据。 现在,为了跟上琼斯的步伐,我用WebAPI设计了这个。 我通过$ .Ajax

将一个对象发布到我的Restful Webservice

为什么这与使用相同的$ .Ajax发布到标准MVC 4.0控制器有什么不同?

有什么好处?

由于

====

关于可能的答案:

注意如果您使用过ASP.NET MVC,那么您已经熟悉了控制器。它们在Web API中的工作方式类似,但Web API中的控制器派生自ApiController类而不是Controller类。您将注意到的第一个主要区别是Web API控制器上的操作不返回视图,它们返回数据。

====

这毕竟不是多余的,毕竟你总能

return JSON(x);

来自任何MVC控制器。

3 个答案:

答案 0 :(得分:7)

http://encosia.com/asp-net-web-api-vs-asp-net-mvc-apis/

ASP.NET Web API与ASP.NET MVC“API” 戴夫沃德 - 谢谢蚂蚁P

一个美丽的概要:

  • 内容协商
  • 灵活性
  • 关注点分离

答案 1 :(得分:2)

MVC针对将Web浏览器作为客户端进行了优化。 Web API更能支持许多不同的客户端。如果你唯一的客户是网络浏览器,那么MVC可能会是一个更好的选择。

答案 2 :(得分:1)

您的$ .Ajax方法没有区别。您的网页不应该关心ajax服务器如何实现自己,尽管它必须知道它是否支持像oData这样的东西。

在服务器端,它们之间存在许多差异。当然,您可以在MVC中创建Ajax处理程序,但WebAPI为您提供了更多的工具和更强大的功能。