API and Web API

API:html

API:(Application Programming Interface)程序員

應用程序編程接口,是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工做機制的細節。數據庫

簡介

應用程序接口爲:「‘電腦操做系統(Operating system)’或‘程序庫’提供給應用程序調用使用的代碼」。其主要目的是讓應用程序開發人員得以調用一組例程功能,而無須考慮其底層的源代碼爲什麼、或理解其內部工做機制的細節。API自己是抽象的,它僅定義了一個接口,而不涉及應用程序在實際實現過程當中的具體操做。 [1] 
例如,圖形中的一組API定義了繪製指針的方式,可於圖形輸出設備上顯示指針。當應用程序須要指針功能時,可在引用、編譯時連接到這組API,而運行時就會調用此API的實現(庫)來顯示指針。 [1] 
應用程序接口是一組數量上千、極其複雜的函數和副程序,可以讓程序員作不少任務做,譬如「讀取文件」、「顯示菜單」、「在視窗中顯示網頁」等等。操做系統的API可用來分配存儲器或讀取文件。許多系統應用程序藉由API接口來實現,像是圖形系統數據庫、網絡Web服務,甚至是在線遊戲。 [1] 
應用程序接口有諸多不一樣設計。用於快速執行的接口一般包括函數常量變量數據結構。也有其它方式,如經過解釋器,或是提供抽象層以屏蔽同API實現相關的信息,確保使用API的代碼無需更改而適應實現變化。

Web API:編程

官方定義:瀏覽器

ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework.服務器

便可以對接各類客戶端(瀏覽器,移動設備),構建http服務的框架。網絡

 

功能簡介

 

Web API的主要功能數據結構

 

1. 支持基於Http verb (GET, POST, PUT, DELETE)的CRUD (create, retrieve, update, delete)操做app

 

    經過不一樣的http動做表達不一樣的含義,這樣就不須要暴露多個API來支持這些基本操做。框架

 

2. 請求的回覆經過Http Status Code表達不一樣含義,而且客戶端能夠經過Accept header來與服務器協商格式,例如你但願服務器返回JSON格式仍是XML格式。

 

3. 請求的回覆格式支持 JSON,XML,而且能夠擴展添加其餘格式。

 

4. 原生支持OData

 

5. 支持Self-host或者IIS host。

 

6. 支持大多數MVC功能,例如Routing/Controller/Action Result/Filter/Model Builder/IOC Container/Dependency Injection。

相關文章
相關標籤/搜索