一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - ASP.NET教程 - 創(chuàng)建一個(gè)完整的ASP.NET Web API項(xiàng)目

創(chuàng)建一個(gè)完整的ASP.NET Web API項(xiàng)目

2019-12-26 12:59lijiao ASP.NET教程

ASP.NET Web API具有與ASP.NET MVC類(lèi)似的編程方式,ASP.NET Web API不僅僅具有一個(gè)完全獨(dú)立的消息處理管道,而且這個(gè)管道比為ASP.NET MVC設(shè)計(jì)的管道更為復(fù)雜,功能也更為強(qiáng)大。下面創(chuàng)建一個(gè)簡(jiǎn)單的Web API項(xiàng)目,需要的朋友可以參考下

Visual Studio為我們提供了專(zhuān)門(mén)用于創(chuàng)建ASP.NET Web API應(yīng)用的項(xiàng)目模板,借助于此項(xiàng)目模板提供的向?qū)В覀兛梢?ldquo;一鍵式”創(chuàng)建一個(gè)完整的ASP.NET Web API項(xiàng)目。在項(xiàng)目創(chuàng)建過(guò)程中,Visual Studio會(huì)自動(dòng)為我們添加必要的程序集引用和配置,甚至?xí)槲覀冏詣?dòng)生成相關(guān)的代碼,總之一句話:這種通過(guò)向?qū)傻捻?xiàng)目在被創(chuàng)建之后其本身就是一個(gè)可執(zhí)行的應(yīng)用。
一、通過(guò)VS2013、.NET 4.5.1創(chuàng)建一個(gè)Web API項(xiàng)目
1、解決方案下面新建項(xiàng)目

創(chuàng)建一個(gè)完整的ASP.NET Web API項(xiàng)目

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

 創(chuàng)建一個(gè)完整的ASP.NET Web API項(xiàng)目

3、安全選擇

 創(chuàng)建一個(gè)完整的ASP.NET Web API項(xiàng)目

4、點(diǎn)擊確定按鈕,VS2013將生成一個(gè)簡(jiǎn)單的Web API項(xiàng)目

 創(chuàng)建一個(gè)完整的ASP.NET Web API項(xiàng)目

5、運(yùn)行項(xiàng)目,啟動(dòng)項(xiàng)目之后, 點(diǎn)擊界面上API按鈕可以看到默認(rèn)創(chuàng)建的API

創(chuàng)建一個(gè)完整的ASP.NET Web API項(xiàng)目

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

創(chuàng)建一個(gè)完整的ASP.NET Web API項(xiàng)目

(3)、在ProductController里中實(shí)現(xiàn)API

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
[RoutePrefix("api/products")]
 public class ProductController : ApiController
 {
   //獲取產(chǎn)品分頁(yè)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)類(lèi)型的 HTTP 對(duì)象模型直接操作 HTTP 請(qǐng)求和響應(yīng), 在 HTTP客戶(hù)端使用相同的編程模型和 HTTP 管道;
 2、支持路由
 Web API 完整支持 ASP.NET 路由, 包括路由參數(shù)和約束。 此外, 到動(dòng)作的映射支持約定, 從此將不再需要向類(lèi)或者方法添加類(lèi)似于 [HttpPost] 之類(lèi)的屬性;
 3、內(nèi)容協(xié)商
 客戶(hù)端與服務(wù)端可以一起決定 API 返回?cái)?shù)據(jù)的格式。 默認(rèn)支持 XML, JSON 以及 Form URL-Encoded 格式, 可以擴(kuò)展添加自定義格式, 甚至可以替換掉默認(rèn)的內(nèi)容協(xié)商策略;
 4、模型綁定與驗(yàn)證
 模型綁定器可以輕易地從 HTTP 請(qǐng)求中提取數(shù)據(jù)并轉(zhuǎn)換成在動(dòng)作方法中使用的 .Net 對(duì)象;
 5、過(guò)濾 
 Web API 支持過(guò)濾, 包括總所周知的 [Authorize] 過(guò)濾標(biāo)記, 可以為 Action 添加并插入自定義過(guò)濾, 實(shí)現(xiàn)認(rèn)證、異常處理等;
 6、查詢(xún)聚合
 只要簡(jiǎn)單的返回 Iqueryable<T> , Web API 將會(huì)支持通過(guò) OData 地址約定進(jìn)行查詢(xún);
 7、改進(jìn)的 Http 細(xì)節(jié)可測(cè)試性
 Web API 不是將 HTTP 細(xì)節(jié)設(shè)置到一個(gè)靜態(tài)的 Context 對(duì)象上, 而是使用 HttpRequestMessage 和HttpResponseMessage 實(shí)例, 可以使用這些對(duì)象的泛型版本為這些 Http 類(lèi)型添加自定義類(lèi)型;
 8、改進(jìn)的依賴(lài)反轉(zhuǎn) (IoC) 支持
 Web API 使用 MVC Dependency Resolver 實(shí)現(xiàn)的服務(wù)定位器模式在不同的場(chǎng)景下來(lái)獲取實(shí)例;
 9、基于代碼的配置
 Web API 單獨(dú)使用代碼完成配置, 從而保證了配置文件的整潔;
 10、自托管 (Self-Host) 
 Web API 除了可以托管在 IIS 中, 還可以托管在進(jìn)程中,依舊可以使用路由以及其它的特性。

以上就是本文的全部?jī)?nèi)容,介紹了如何創(chuàng)建一個(gè)簡(jiǎn)單的Web API項(xiàng)目,希望對(duì)大家的學(xué)習(xí)有所幫助,之后的文章還會(huì)介紹Web API的簡(jiǎn)單實(shí)例,希望大家繼續(xù)關(guān)注。 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99在线精品免费视频九九视 | 国产一级片在线 | 精品国产成人a区在线观看 精品高潮呻吟99AV无码视频 | 玩乳h文奶水和尚 | 消息称老熟妇乱视频一区二区 | 国产成年人 | 欧美激情亚洲 | 国产精品久久久久影院色老大 | 亚洲狼人香蕉香蕉在线28 | 亚洲AV久久无码精品九号软件 | 公交车强校花系列小说 | 3d蒂法受辱在线播放 | 亚洲色图第四色 | 91热国内精品永久免费观看 | www久久精品 | chinesespanking调教 | 成人毛片1024你懂的 | 国产剧情一区 | 亚洲视频在线一区二区三区 | 国产chinese男同gay | 日韩大片在线 | 成人国产精品视频 | 加勒比伊人 | 成年性香蕉漫画在线观看 | a毛片免费全部在线播放毛 a级在线看 | 免费370理论片中文字幕 | 免费观看美女被cao视频 | 日本高清在线精品一区二区三区 | 久久精品亚洲国产AV涩情 | 嫩模被黑人粗大挺进 | 亚洲色图影院 | 国产成人a∨麻豆精品 | 亚洲AV精品无码喷水直播间 | 日本视频免费在线播放 | www.麻豆视频 | 欧美在线高清 | chaopeng在线观看 | 男人把j放进女人的p里视频 | 亚洲国产成人精品无码区5566 | 日本人与黑人做爰视频网站 | 亚洲欧美日本在线观看 |