有人告诉我为客户设计一个API来操作一些数据。 现在,为了跟上琼斯的步伐,我用WebAPI设计了这个。 我通过$ .Ajax
将一个对象发布到我的Restful Webservice为什么这与使用相同的$ .Ajax发布到标准MVC 4.0控制器有什么不同?
有什么好处?
由于
====
关于可能的答案:
注意如果您使用过ASP.NET MVC,那么您已经熟悉了控制器。它们在Web API中的工作方式类似,但Web API中的控制器派生自ApiController类而不是Controller类。您将注意到的第一个主要区别是Web API控制器上的操作不返回视图,它们返回数据。
====
这毕竟不是多余的,毕竟你总能
return JSON(x);
来自任何MVC控制器。
答案 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为您提供了更多的工具和更强大的功能。