原文鏈接: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.開源
【翻譯不易,如有轉載,請標注出處】