Visual Studio為我們提供了專門用於建立ASP.NET Web API應用的項目模板,藉助於此項目模板提供的嚮導,我們可以“一鍵式”建立一個完整的ASP.NET Web API項目。在項目建立過程中,Visual Studio會自動為我們添加必要的程式集引用和配置,甚至會為我們自動產生相關的代碼,總之一句話:這種通過嚮導產生的項目在被建立之後其本身就是一個可執行檔應用。
一、通過VS2013、.NET 4.5.1建立一個Web API項目
1、解決方案下面建立項目
2、選擇項目WEB API模板, 在最下方的MVC主要是預設會內建微軟的API Helper, 使用MVC發布
3、安全選擇
4、點擊確定按鈕,VS2013將產生一個簡單的Web API項目
5、運行項目,啟動項目之後, 點擊介面上API按鈕可以看到預設建立的API
6、建立一個Products API
(1)、添加ProductController
(2)、選擇empty 控制器
(3)、在ProductController裡中實現API
[RoutePrefix("api/products")] public class ProductController : ApiController { //擷取產品分頁API: api/products/product/getList [HttpGet, Route("product/getList")] public Page<Product> GetProductList() { throw new NotImplementedException(); } //擷取單個產品API: api/products/product/get?productId=產品ID [HttpGet, Route("product/get")] public Product GetProduct(Guid productId) { throw new NotImplementedException(); } //產品新增API: api/products/product/add?productId=產品ID [HttpPost, Route("product/add")] public Guid AddProduct(Product product) { throw new NotImplementedException(); } //產品新增API: api/products/product/add?productId=產品ID [HttpPost, Route("product/update")] public void UpdateProduct(Guid productId, Product product) { throw new NotImplementedException(); } //產品刪除API: api/products/product/delete?productId=產品ID [HttpDelete, Route("product/delete")] public void DeleteProduct(Guid productId) { throw new NotImplementedException(); } }
二、ASP.NET Web API 特性
1、先進的 HTTP 編程模型
使用新的強型別的 HTTP 物件模型直接操作 HTTP 要求和響應, 在 HTTP用戶端使用相同的編程模型和 HTTP 管道;
2、支援路由
Web API 完整支援 ASP.NET 路由, 包括路由參數和約束。 此外, 到動作的映射支援約定, 從此將不再需要向類或者方法添加類似於 [HttpPost] 之類的屬性;
3、內容協商
用戶端與服務端可以一起決定 API 返回資料的格式。 預設支援 XML, JSON 以及 Form URL-Encoded 格式, 可以擴充添加自訂格式, 甚至可以替換掉預設的內容協商策略;
4、模型繫結與驗證
模型繫結器可以輕易地從 HTTP 要求中提取資料並轉換成在動作方法中使用的 .Net 對象;
5、過濾
Web API 支援過濾, 包括總所周知的 [Authorize] 過濾標記, 可以為 Action 添加並插入自訂過濾, 實現認證、異常處理等;
6、查詢彙總
只要簡單的返回 Iqueryable<T> , Web API 將會支援通過 OData 地址約定進行查詢;
7、改進的 Http 細節可測試性
Web API 不是將 HTTP 細節設定到一個靜態 Context 對象上, 而是使用 HttpRequestMessage 和HttpResponseMessage 執行個體, 可以使用這些對象的泛型版本為這些 Http 類型添加自訂類型;
8、改進的依賴反轉 (IoC) 支援
Web API 使用 MVC Dependency Resolver 實現的服務定位器模式在不同的情境下來擷取執行個體;
9、基於代碼的配置
Web API 單獨使用程式碼完成配置, 從而保證了設定檔的整潔;
10、自託管 (Self-Host)
Web API 除了可以託管在 IIS 中, 還可以託管在進程中,依舊可以使用路由以及其它的特性。
以上就是本文的全部內容,介紹了如何建立一個簡單的Web API項目,希望對大家的學習有所協助,之後的文章還會介紹Web API的簡單一實例,希望大家繼續關注。