關於WebAPI

1. 如今愈來愈多的企業以及網站 以及互聯網使用WebApi  。那麼WebApi 和 普通的WebServices  和WCF 最大的區別是什麼了。那就是Web API不少人都會想到Web服務,可是他們仍然有必定的區別:Web API服務是經過通常的 HTTP公開了,而不是經過更正式的服務合同 (如SOAP) 基於Rest 風格 更加的輕量級 使用起來的方便,編程

 ASP. NET Web API支持讓你可以輕鬆地建立功能強大的 Web API,能夠從範圍普遍的客戶端 (包括使用 JavaScript從瀏覽器中,到任何移動/客戶端平臺上的本機應用程序)訪問。它提供如下支持:瀏覽器

(1)基於HTTP 進行訪問:在你的使用的Web 應用程序中能夠直接訪問和處理 HTTP 請求以及響應,使用HttpClient 對象直接進行訪問,除了在服務器上支持這個 HTTP 的編程模型以外,以及還能夠進行經過 HttpClient API來從任何.NET 應用程序中調用 Web ApI, 固然不管是B/S 仍是C/S 的能夠進行訪問WebApi 更加的方便更加的靈活。服務器

(2)內容協商: Web API 有對內容協商的內置支持 — — 這使客戶端和服務器一塊兒工做以決定從一個 API 返回的正確的數據格式。咱們爲JSON、 XML 和Form URL 編碼的格式提供默認支持,並能夠經過添加你本身的格式化程序來擴展這種支持,或者甚至用你本身的來替換默認的內容協商策略。 架構

(3)查詢組成: Web API 經過 OData URL 公約使你可以輕鬆地支持查詢。當你從你的 Web API 返回一種類型的 IQueryable <T> 時,框架將自動爲它提供 OData 查詢支持— — 使其易於分頁和排序。框架

(4)模型綁定和驗證:模型綁定器提供了一種簡單的方法來從HTTP 請求中的不一樣部分提取數據,並將這些信息部分轉換爲Web API行爲可以使用的.NET對象。Web API 支持相同的模型綁定和ASP. NET MVC 現今支持的驗證基礎結構。單元測試

(5)路由: Web ApI 支持完整的路由功能集。現今ASP. NET MVC 和 ASP.NET也支持這一點,包括路線參數和約束。默認狀況下,Web API 還提供了智能公約,使你可以輕鬆地建立實現 Web ApI的類,而無需不得不將屬性應用到你的類或方法中。Web API 的配置純粹是經過代碼來實現的 — — 保持你的配置文件乾淨。測試

(6)篩選器: Web ApI 使你可以輕鬆地使用和建立篩選器 (例如: [受權]),那樣你可以封裝和應用交叉行爲。網站

(7)改進的可測試性: 與其在靜態文本對象中設置 HTTP 的詳細信息,不如將 Web API 行爲與 HttpRequestMessage 和 HttpResponseMessage 一塊兒使用— — 兩個新 的HTTP對象 (在其餘內) 使測試更容易。例如,你能夠單元測試你的 Web ApI,而無需不得不使用 Mocking 框架。編碼

(8)IoC支持: Web API 支持由 ASP. NET MVC 實現的服務定位器模式,使你可以解決不一樣設備的依賴。你能夠輕鬆地使用IoC容器或依賴注射架構來集成,以保持乾淨的依賴解決方案。spa

(9)靈活的託管: Web ApI能夠託管在任何類型的 ASP.NET應用程序內 (包括這兩個基於應用程序的ASP. NET MVC和ASP.NET Web Forms)。咱們還設計了 Web API 支持,這樣,你還能夠選擇在你本身的進程內託管/公開它們,若是你不想使用 ASP.NET/IIS 來這樣作。至於你如何以及在哪兒使用它,這給了你最大的靈活性。

相關文章
相關標籤/搜索