創(chuàng)建一個完整的ASP.NET Web API項目
Visual Studio為我們提供了專門用于創(chuàng)建ASP.NET Web API應(yīng)用的項目模板,借助于此項目模板提供的向?qū)?,我們可以“一鍵式”創(chuàng)建一個完整的ASP.NET Web API項目。在項目創(chuàng)建過程中,Visual Studio會自動為我們添加必要的程序集引用和配置,甚至?xí)槲覀冏詣由上嚓P(guān)的代碼,總之一句話:這種通過向?qū)傻捻椖吭诒粍?chuàng)建之后其本身就是一個可執(zhí)行的應(yīng)用。
一、通過VS2013、.NET 4.5.1創(chuàng)建一個Web API項目
1、解決方案下面新建項目

2、選擇項目WEB API模板, 在最下方的MVC主要是默認會自帶微軟的API Helper, 使用MVC發(fā)布

3、安全選擇

4、點擊確定按鈕,VS2013將生成一個簡單的Web API項目

5、運行項目,啟動項目之后, 點擊界面上API按鈕可以看到默認創(chuàng)建的API

6、新建一個Products API
(1)、添加ProductController
(2)、選擇empty 控制器

(3)、在ProductController里中實現(xiàn)API
[RoutePrefix("api/products")]
public class ProductController : ApiController
{
//獲取產(chǎn)品分頁API: api/products/product/getList
[HttpGet, Route("product/getList")]
public Page<Product> GetProductList()
{
throw new NotImplementedException();
}
//獲取單個產(chǎn)品API: api/products/product/get?productId=產(chǎn)品ID
[HttpGet, Route("product/get")]
public Product GetProduct(Guid productId)
{
throw new NotImplementedException();
}
//產(chǎn)品新增API: api/products/product/add?productId=產(chǎn)品ID
[HttpPost, Route("product/add")]
public Guid AddProduct(Product product)
{
throw new NotImplementedException();
}
//產(chǎn)品新增API: api/products/product/add?productId=產(chǎn)品ID
[HttpPost, Route("product/update")]
public void UpdateProduct(Guid productId, Product product)
{
throw new NotImplementedException();
}
//產(chǎn)品刪除API: api/products/product/delete?productId=產(chǎn)品ID
[HttpDelete, Route("product/delete")]
public void DeleteProduct(Guid productId)
{
throw new NotImplementedException();
}
}
二、ASP.NET Web API 特性
1、先進的 HTTP 編程模型
使用新的強類型的 HTTP 對象模型直接操作 HTTP 請求和響應(yīng), 在 HTTP客戶端使用相同的編程模型和 HTTP 管道;
2、支持路由
Web API 完整支持 ASP.NET 路由, 包括路由參數(shù)和約束。 此外, 到動作的映射支持約定, 從此將不再需要向類或者方法添加類似于 [HttpPost] 之類的屬性;
3、內(nèi)容協(xié)商
客戶端與服務(wù)端可以一起決定 API 返回數(shù)據(jù)的格式。 默認支持 XML, JSON 以及 Form URL-Encoded 格式, 可以擴展添加自定義格式, 甚至可以替換掉默認的內(nèi)容協(xié)商策略;
4、模型綁定與驗證
模型綁定器可以輕易地從 HTTP 請求中提取數(shù)據(jù)并轉(zhuǎn)換成在動作方法中使用的 .Net 對象;
5、過濾
Web API 支持過濾, 包括總所周知的 [Authorize] 過濾標記, 可以為 Action 添加并插入自定義過濾, 實現(xiàn)認證、異常處理等;
6、查詢聚合
只要簡單的返回 Iqueryable<T> , Web API 將會支持通過 OData 地址約定進行查詢;
7、改進的 Http 細節(jié)可測試性
Web API 不是將 HTTP 細節(jié)設(shè)置到一個靜態(tài)的 Context 對象上, 而是使用 HttpRequestMessage 和HttpResponseMessage 實例, 可以使用這些對象的泛型版本為這些 Http 類型添加自定義類型;
8、改進的依賴反轉(zhuǎn) (IoC) 支持
Web API 使用 MVC Dependency Resolver 實現(xiàn)的服務(wù)定位器模式在不同的場景下來獲取實例;
9、基于代碼的配置
Web API 單獨使用代碼完成配置, 從而保證了配置文件的整潔;
10、自托管 (Self-Host)
Web API 除了可以托管在 IIS 中, 還可以托管在進程中,依舊可以使用路由以及其它的特性。
以上就是本文的全部內(nèi)容,介紹了如何創(chuàng)建一個簡單的Web API項目,希望對大家的學(xué)習(xí)有所幫助,之后的文章還會介紹Web API的簡單實例,希望大家繼續(xù)關(guān)注。
- ASP.NET中Web API的簡單實例
- ASP.NET MVC Web API HttpClient簡介
- ASP.NET Web Api 2實現(xiàn)多文件打包并下載文件的實例
- 支持Ajax跨域訪問ASP.NET Web Api 2(Cors)的示例教程
- ASP.NET Web API教程 創(chuàng)建Admin視圖詳細介紹
- ASP.NET Web API如何將注釋自動生成幫助文檔
- ASP.NET Web API教程 創(chuàng)建Admin控制器實例分享
- ASP.NET Web API教程 創(chuàng)建域模型的方法詳細介紹
- .Net Web Api中利用FluentValidate進行參數(shù)驗證的方法
相關(guān)文章
ASP.NET MVC小結(jié)之基礎(chǔ)篇(一)
本文是ASP.NET MVC系列的第一篇文章,跟其他學(xué)習(xí)系列一樣,咱們先來點基礎(chǔ)知識,之后再循序漸進。我們先從asp.net mvc的概念開始吧。2014-11-11
ASP.NET中實現(xiàn)把Json數(shù)據(jù)轉(zhuǎn)換為ADO.NET DataSet對象
這篇文章主要介紹了ASP.NET中實現(xiàn)把Json數(shù)據(jù)轉(zhuǎn)換為ADO.NET DataSet對象,本文講解設(shè)計及實現(xiàn)方法,相關(guān)代碼托管到GITHUB,需要的朋友可以參考下2015-03-03
Asp.Net的FileUpload類實現(xiàn)上傳文件實例
這篇文章主要介紹了Asp.Net的FileUpload類實現(xiàn)上傳文件的方法,以實例形式講述了上傳文件類的具體實現(xiàn)方法,是非常實用的技巧,需要的朋友可以參考下2014-11-11
ASP.NET網(wǎng)站偽靜態(tài)下使用中文URL的方法
中文URL是在URL中直接使用漢字,它的好處是可以使用鏈接地址看起來非常直觀易懂,偽靜態(tài)的規(guī)則,是在web.config文件中定義的2014-08-08
ASP.NET Repeater 單雙行數(shù)據(jù)換色示例
ASP.NET Repeater 單雙行數(shù)據(jù)換色根據(jù)點擊Repeater的ItemCreated觸發(fā)事件來時實現(xiàn)換色2014-10-10
在?ASP.NET?Core?中使用?HTTP?標頭傳播詳情
這篇文章主要介紹了在?ASP.NET?Core?中使用?HTTP?標頭傳播詳情,文章通過,我們創(chuàng)建?ServerA、ServiceB?兩個?Web?API?項目展開內(nèi)容,需要的朋友可以參考一下2022-04-04

