什么是WebAPI以及为什么要使用它(Web API初级教程一)
原文链接:https://www.dotnettricks.com/learn/webapi/what-is-web-api-and-why-to-use-it
ASP.NET Web API是一个用于构建HTTP服务的框架,广泛的应用于浏览器,手机,iPhone和平板电脑。
自从WebApi包含了例如路由,控制器,活动和结果,过滤器,模型绑定,IOC内容器(控制反转)及依赖注入的MVC特征,
它就和ASP.NET MVC非常相似。
ASP.NET Web API是WCF REST API的扩展。简而言之,它是WCF REST API的替代品。它可以
和ASP.NET MVC以及ASP.NET WebForms这类其它类型的web应用程序一起使用。此外,Web API还可以用作独立的
Web服务应用程序。
为什么是ASP.NET Web API (Web API)?
如今,一个基于web的应用程序还不足以满足客户要求。人们非常聪明,人们在日常生活中还使用iPhone,手机,平板等设备。
这些设备里的一些APP使得生活变得更加方便。事实上,我们正从网络走向应用世界。
所以,如果你想以快速简单的方式向浏览器和所有这些现代设备应用程序公开你的服务数据。你需要一个可同时兼容浏览器和这些设备的API。
例如,twitter,facebook 和 Google的API就可以用于web应用程序和手机应用程序。
WebAPI是将数据和服务公开给不同设备的绝佳框架。此外,在过去.Net Framework,Web API是一个创建HTTP REST-ful服务的开源,理想的平台。
WebAPI使用了HTTP的(比如URI、请求/响应头、缓存、版本控制、各种内容格式)所有特征,与WCF Rest服务不同的是,您不需要为不同的设备定义任何额外的配置设置。
Web API 特征
1.支持常规的CRUD操作,因为它支持HTTP的GET、POST、PUT和DELETE操作
2.响应包含接受头和HTTP状态代码
3.支持像XML,JSON等格式的多文本格式,你也可以使用自定义的媒体格式
4.也可以接受和传输非面向对象的图片,PDF等内容
5.自动支持OData(开放数据协议)。因此,通过将新的[Queryable]属性放置在返回IQueryable的控制器方法上,客户机可以将该方法用于OData查询组合
6.支持自托管或IIS托管
7.支持ASP.NET MVC特性,例如路由、控制器、操作结果、过滤器、模型绑定、IOC容器(控制反转)或依赖项注入。
Web API 的历史版本
以下版本的ASP.NET Web API发布:
Web API 1.0
● .NET Framework 4.0
● ASP.NET MVC 4
● VS 2010
Web API 2.0
● .NET Framework 4.5
● ASP.NET MVC 5
● VS 2012, 2013
为什么选择Web API?
1.如果你需要一个不需要soap协议的webservice,ASP.NET Web API是最佳选择
2.使用简单,用于在现有WCF信息管道上构建基于HTTP服务的非SOAP服务
3.配置简单,不像WCF REST服务一样复杂
4.使用Web API创建服务简单。而使用WCF REST服务,创建服务很困难
5.基于HTTP,以REST-ful方式定义、公开和使用简单
6.基于轻量级RESTful架构,适用于智能手机等带宽有限的设备
7.开源
【翻译不易,如有转载,请标注出处】