什么是Web API ?
转载自:http://www.tutorialsteacher.com/webapi/what-is-web-api
在我们理解什么是Web API 之前,先看下什么是API(Application Programing Interface).
按照维基百科对API的定义:在计算机编程里,应用编程接口(API)是一组用于构建软件和应用的子程序定义、协议和工具。
简而言之,API是一种具有一系列函数的接口,它允许程序员访问应用程序,操作系统,或者其它服务的特定功能或者数据。
顾名思义,Web API 是一个能够使用http协议访问的网页接口。这是一个概念,而不是一种技术。我们可以用不同的技术创建 Web API,比如 JAVA, .NET 等。举个例子,Twitter 的 REST APIs 提供了读写数据的编程访问,我们可以使用它将Twitter的功能集成到我们自己的应用程序中。
ASP.NET Web API
ASP.NET Web API 是一个可扩展的框架,用于构建基于HTTP的服务,这些服务可以在 Web、windows、mobile 等不同平台上的不同应用程序中被访问。它的工作原理或多或少与ASP.NET MVC web应用程序相同,除了它作为响应而不是html视图发送的数据。它类似于webservice或WCF服务,但唯一的例外是它只支持HTTP协议。
ASP.NET Web API 的特征
- ASP.NET Web API 是一个构建RESTful 服务的理想平台。
- ASP.NET Web API 是 建立在 ASP.NET之上的,并且支持ASP.NET请求/响应管道。
- ASP.NET Web API 映射 HTTP verbs 到 方法名称。
- ASP.NET Web API 支持不同数据格式的响应。内置支持JSON,XML,BSON格式。
- ASP.NET Web API 可以托管在IIS、自托管或其他支持.NET 4.0+的web服务器上。
- ASP.NET Web API 框架包括新的客户端来与Web API服务器通信。HttpClient可以在ASP.MVC服务器端,Windows表单应用程序,控制台应用程序或其他应用程序中使用。
ASP.NET Web API Versions
ASP.NET Web API vs WCF
什么时候选择 WCF?
- 如果你使用.NET 框架3.5,选择WCF。Web API 不支持.NET3.5级以下版本。
- 如果你的服务需要支持多种协议,如HTTP, TCP, Named pipe, 选择WCF。
- 如果你想使用WS-*标准构建服务,比如可靠的消息传递、事务、消息安全性,选择WCF。
- 如果希望使用请求-应答、单向和双向消息交换模式,请选择WCF。
什么时候使用ASP.NET Web API?
- 如果你使用.NET 框架 4.0或以上版本,选择Web API.
- 如果你想构建一个仅支持http协议的服务,选择Web API.
- 如果你想构建基于RESTful的HTTP服务,选择Web API。
- 如果你熟悉ASP.NET MVC,选择Web API.
下一节我们使用开发工具来创建简单的 ASP.NET Web API 项目。