創(chuàng)建一個(gè)完整的ASP.NET Web API項(xiàng)目
Visual Studio為我們提供了專門用于創(chuàng)建ASP.NET Web API應(yīng)用的項(xiàng)目模板,借助于此項(xiàng)目模板提供的向?qū)?,我們可以“一鍵式”創(chuàng)建一個(gè)完整的ASP.NET Web API項(xiàng)目。在項(xiàng)目創(chuàng)建過程中,Visual Studio會(huì)自動(dòng)為我們添加必要的程序集引用和配置,甚至?xí)槲覀冏詣?dòng)生成相關(guān)的代碼,總之一句話:這種通過向?qū)傻捻?xiàng)目在被創(chuàng)建之后其本身就是一個(gè)可執(zhí)行的應(yīng)用。
一、通過VS2013、.NET 4.5.1創(chuàng)建一個(gè)Web API項(xiàng)目
1、解決方案下面新建項(xiàng)目
2、選擇項(xiàng)目WEB API模板, 在最下方的MVC主要是默認(rèn)會(huì)自帶微軟的API Helper, 使用MVC發(fā)布
3、安全選擇
4、點(diǎn)擊確定按鈕,VS2013將生成一個(gè)簡單的Web API項(xiàng)目
5、運(yùn)行項(xiàng)目,啟動(dòng)項(xiàng)目之后, 點(diǎn)擊界面上API按鈕可以看到默認(rèn)創(chuàng)建的API
6、新建一個(gè)Products API
(1)、添加ProductController
(2)、選擇empty 控制器
(3)、在ProductController里中實(shí)現(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(); } //獲取單個(gè)產(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、先進(jìn)的 HTTP 編程模型
使用新的強(qiáng)類型的 HTTP 對象模型直接操作 HTTP 請求和響應(yīng), 在 HTTP客戶端使用相同的編程模型和 HTTP 管道;
2、支持路由
Web API 完整支持 ASP.NET 路由, 包括路由參數(shù)和約束。 此外, 到動(dòng)作的映射支持約定, 從此將不再需要向類或者方法添加類似于 [HttpPost] 之類的屬性;
3、內(nèi)容協(xié)商
客戶端與服務(wù)端可以一起決定 API 返回?cái)?shù)據(jù)的格式。 默認(rèn)支持 XML, JSON 以及 Form URL-Encoded 格式, 可以擴(kuò)展添加自定義格式, 甚至可以替換掉默認(rèn)的內(nèi)容協(xié)商策略;
4、模型綁定與驗(yàn)證
模型綁定器可以輕易地從 HTTP 請求中提取數(shù)據(jù)并轉(zhuǎn)換成在動(dòng)作方法中使用的 .Net 對象;
5、過濾
Web API 支持過濾, 包括總所周知的 [Authorize] 過濾標(biāo)記, 可以為 Action 添加并插入自定義過濾, 實(shí)現(xiàn)認(rèn)證、異常處理等;
6、查詢聚合
只要簡單的返回 Iqueryable<T> , Web API 將會(huì)支持通過 OData 地址約定進(jìn)行查詢;
7、改進(jìn)的 Http 細(xì)節(jié)可測試性
Web API 不是將 HTTP 細(xì)節(jié)設(shè)置到一個(gè)靜態(tài)的 Context 對象上, 而是使用 HttpRequestMessage 和HttpResponseMessage 實(shí)例, 可以使用這些對象的泛型版本為這些 Http 類型添加自定義類型;
8、改進(jìn)的依賴反轉(zhuǎn) (IoC) 支持
Web API 使用 MVC Dependency Resolver 實(shí)現(xiàn)的服務(wù)定位器模式在不同的場景下來獲取實(shí)例;
9、基于代碼的配置
Web API 單獨(dú)使用代碼完成配置, 從而保證了配置文件的整潔;
10、自托管 (Self-Host)
Web API 除了可以托管在 IIS 中, 還可以托管在進(jìn)程中,依舊可以使用路由以及其它的特性。
以上就是本文的全部內(nèi)容,介紹了如何創(chuàng)建一個(gè)簡單的Web API項(xiàng)目,希望對大家的學(xué)習(xí)有所幫助,之后的文章還會(huì)介紹Web API的簡單實(shí)例,希望大家繼續(xù)關(guān)注。
- ASP.NET中Web API的簡單實(shí)例
- ASP.NET MVC Web API HttpClient簡介
- ASP.NET Web Api 2實(shí)現(xiàn)多文件打包并下載文件的實(shí)例
- 支持Ajax跨域訪問ASP.NET Web Api 2(Cors)的示例教程
- ASP.NET Web API教程 創(chuàng)建Admin視圖詳細(xì)介紹
- ASP.NET Web API如何將注釋自動(dòng)生成幫助文檔
- ASP.NET Web API教程 創(chuàng)建Admin控制器實(shí)例分享
- ASP.NET Web API教程 創(chuàng)建域模型的方法詳細(xì)介紹
- .Net Web Api中利用FluentValidate進(jìn)行參數(shù)驗(yàn)證的方法
相關(guān)文章
asp.net繼承IHttpHandler接口實(shí)現(xiàn)給網(wǎng)站圖片添加水印功能實(shí)例
這篇文章主要介紹了asp.net繼承IHttpHandler接口實(shí)現(xiàn)給網(wǎng)站圖片添加水印功能,實(shí)例分析了asp.net基于IHttpHandler接口實(shí)現(xiàn)網(wǎng)站圖片水印功能的具體步驟與相關(guān)技巧,需要的朋友可以參考下2016-07-07ASP.NET AJAX 4.0的模版編程(Template Programming)介紹
不過當(dāng)我評估ASP.NET AJAX 4.0的時(shí)候,我確實(shí)被它的特征給震住了。新的特征完全專注于瀏覽器技術(shù),比如XHTML和javascript。 我非常欽佩ASP.NET AJAX小組。2009-07-07C#設(shè)置本地網(wǎng)絡(luò)如DNS、網(wǎng)關(guān)、子網(wǎng)掩碼、IP等等
手動(dòng)設(shè)置本地網(wǎng)絡(luò)的方法顯然很不可取,所以我們要讓程序幫我們完成,需要的朋友可以參考下2014-03-03解決iis7.5服務(wù)器上.net 獲取不到https頁面的信息
讓我糾結(jié)了一天多的問題,給大家看下,有相同情況的可以不用浪費(fèi)時(shí)間了,本人當(dāng)時(shí)找了好半天都沒找到什么有用的信息,項(xiàng)目在本地沒有問題,但部署在服務(wù)器后,獲取不到https頁面的信息,加入下面的代碼就可以了,因?yàn)閕is7.5的安全協(xié)議比較高的原因。2014-06-06ASP.NET 修復(fù) IIS 映射具體實(shí)現(xiàn)步驟
本文主要介紹IIS映射的具體步驟,希望對大家有所幫助。2016-05-05asp.net MVC實(shí)現(xiàn)簡單的上傳功能
MVC中上傳變得越來越容易,可是對于新手這個(gè)也還是不知道如何實(shí)現(xiàn),以下方式實(shí)現(xiàn)MVC的上傳功能,以下2種方法都是可以實(shí)現(xiàn)的,其中的代碼參考了藍(lán)色小鋪和重典的文章。2009-11-11asp.net關(guān)于onpropertychange和oninput事件實(shí)現(xiàn)代碼
文本框,數(shù)據(jù)列表,當(dāng)在文本框中輸入條件時(shí)需要實(shí)時(shí)刷新數(shù)據(jù)列表,而且需要滿足多瀏覽器(IE6.0/7.0/8.0,FireFox,Opera,google chrome,Safair)其功能類似google的智能匹配,我是用asp.net實(shí)現(xiàn)的。2009-11-11