我是 ASP.NET Web API 的新手。谁能告诉我
- 为什么我们需要 Web API?
- 它与来自 MVC 的 rest full api 有何不同?
- 何时使用 MVC4 web api?
- MVC中什么是restful api
我是 ASP.NET Web API 的新手。谁能告诉我
WebAPI 基于 MVC,但有一些细微的差别。您需要了解 WebAPI 是独立于 MVC 的东西,并且不需要 MVC。您可以单独安装 WebAPI,也可以从默认的 MVC 模板中卸载它。
确实,MS 可以将 WebAPI 直接构建到 MVC 控制器中,但他们选择将 API 控制器与 MVC 控制器分开,因为它们确实是处理请求和响应的不同方式。
您可以在 WebAPI 中做而在 MVC 中不能(或至少不那么容易)做的事情的示例包括:
WebAPI 为处理数据结果集提供了强大的功能。MVC 不提供那种功能。
您倾向于将 WebAPI 用于 Ajax 请求或不需要 WCF 复杂性的基于 Web 服务的请求。
RESTful API 并不特定于 MVC 或 WebAPI。它们只是一种关于如何在服务中设计 HTTP 请求的理念。确实有很多,但我不会深入。
MVC 被优化为向 Web 浏览器客户端提供信息。如果你的客户是别的东西,从长远来看,Web API 会让你的生活更轻松。
Web API 是对 Web 堆栈的完全重写。在核心上,它比 MVC 建立在其上的 12 年历史的基础架构更干净、更灵活。Web API 还没有与 MVC 相同级别的工具、附加组件、插件,但那将会到来。
WCF 团队在 Microsoft 与 MVC 团队合并。WCF 不会消失,但对于简单的 RESTFUL 服务调用,MVC 控制器是天作之合,对其进行修改可以实现非常简单的 Web API。
虽然我们中的许多人都觉得 WCF 相对容易,但也有很多人害怕它和/或没有/花时间学习它,因此他们 a. 仍然使用 ASMX,b。仍然从未采用过服务,或者现在使用 Web API,是 c。很高兴他们可以很容易地启动并运行宁静的 Web 服务。
所以实际上这是一个舒适程度、适应能力、改变能力的问题,Web API 确实有它的位置。它不能取代 WCF,因为 WCF 具有高级配置,具有执行 SOAP 的所有绑定和能力,而不仅仅是 REST,许多应用程序仍然需要 SOAP 协议。