为什么我们需要MVC中的Web API?mvc中restful api的缺点是什么?

Siv*_*ini 8 asp.net-mvc-4 asp.net-web-api

我是ASP.NET Web API的新手.有谁能告诉我

  • 为什么我们需要Web API?
  • 它与MVC的rest full api有何不同?
  • 什么时候使用MVC4 web api?
  • 什么是MVC中的restful api

Eri*_*sch 12

WebAPI基于MVC,但有一些细微的差别.您需要了解WebAPI与MVC是分开的,并且不需要MVC.您可以单独安装WebAPI,也可以从默认的MVC模板中卸载它.

确实,MS可以将WebAPI直接构建到MVC控制器中,但是他们选择将API控制器与MVC控制器分开,因为它们实际上是处理请求和响应的不同方式.

你可以在WebAPI中做的事情的例子,你不能(或至少不是那么容易)在MVC中包括:

  • 内容谈判
    • 这允许调用客户端选择将返回数据的格式,例如XML或JSON.
  • OData支持
    • 这允许调用者在服务器上"过滤"结果,而服务方法不必专门支持它.例如,如果要按名字对结果进行排序,则可以通过指定OData查询参数来完成

WebAPI为处理数据结果集提供了很多功能.MVC不提供这种功能.

您倾向于将WebAPI用于Ajax请求或基于Web服务的请求,而不需要WCF的复杂性.

RESTful API不是特定于MVC或WebAPI.它们只是您在服务中设计HTTP请求的理念.真的有很多东西,但我不会进入它.