日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

使用ASP.Net WebAPI构建REST服务(一)——简单的示例

發(fā)布時間:2023/12/10 asp.net 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用ASP.Net WebAPI构建REST服务(一)——简单的示例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

由于給予REST的Web服務非常簡單易用,它越來越成為企業(yè)后端服務集成的首選方法。本文這里介紹一下如何通過微軟的Asp.Net WebAPI快速構建REST-ful 服務。

首先創(chuàng)建一個Asp.Net Web應用程序(我這里用的是Visual Studio 2013,它已經內置了Web API2)。

????

在出來的模板中選擇Empty(空項目),并勾選WebAPI。點擊確定后,就創(chuàng)建了一個空的WebAPI服務。

????

此時只有一個空項目,還沒有任何功能,在進行下一步之前,首先我們來看一下REST的基本操作模型,大致可以分為如下四種:

  • POST — 創(chuàng)建資源
  • GET — 檢索資源
  • PUT — 更新資源
  • DELETE — 刪除資源

非常經典的CRUD模型。在Web API中實現(xiàn)這樣一個的模型是非常簡單的,直接使用向導建一個Controller即可

????

????

如果用傳統(tǒng)的向導,記得把向導后面的那個1給去掉:

?

默認的模板內容如下:

????public?class?ValuesController?:?ApiController
????{
????????// GET api/<controller>
????????public?IEnumerable<string> Get()
????????{
????????????return?new?string[] {?"value1",?"value2"?};
????????}

????????// GET api/<controller>/5
????????public?string?Get(int?id)
????????{
????????????return?"value";
????????}

????????// POST api/<controller>
????????public?void?Post([FromBody]string?value)
????????{
????????}

????????// PUT api/<controller>/5
????????public?void?Put(int?id, [FromBody]string?value)
????????{
????????}

????????// DELETE api/<controller>/5
????????public?void?Delete(int?id)
????????{
????????}
????}

這其實已經幫我們實現(xiàn)了一個最基本的服務了,不過這個服務中只實現(xiàn)了Get,它支持如下兩種中方式的URL訪問(其它的方式也能訪問,但沒有具體的效果):

  • api/values????????訪問所有的Value列表????
  • api/values/{id}????????根據ID訪問Value

按Ctrl + F5中執(zhí)行,在瀏覽器中輸入相應的地址即可看到結果

????

下面我們要做的就是完善它,實現(xiàn)一個簡單的查詢功能,這里我引用了微軟官方的一個例子:

public?class?ProductsController?:?ApiController
{
????????Product[] products =?new?Product[]
????????{
????????????new?Product?{ Id = 1, Name =?"Tomato Soup", Category =?"Groceries", Price = 1 },
????????????new?Product?{ Id = 2, Name =?"Yo-yo", Category =?"Toys", Price = 3.75M },
????????????new?Product?{ Id = 3, Name =?"Hammer", Category =?"Hardware", Price = 16.99M }
????????};

????????public?IEnumerable<Product> Get()
????????{
????????????return?products;
????????}

????????public?IHttpActionResult?Get(int?id)
????????{
????????????var?product = products.FirstOrDefault((p) => p.Id == id);
????????????if?(product ==?null)
????????????{
????????????????return?NotFound();
????????????}
????????????return?Ok(product);
????????}
????}

????public?class?Product
????{
????????public?int?Id {?get;?set; }
????????public?string?Name {?get;?set; }
????????public?string?Category {?get;?set; }
????????public?decimal?Price {?get;?set; }
????}

此時,我們就可以在瀏覽器中看到結果了(由于Controller改名字了,此時的地址就變成了api/products)

????

到此為止,一個基于Asp.net Web API的 簡單的REST Web服務就構建完成了,由于篇幅所限,這里就不做更多的介紹了,跟多信息可以參看微軟官方文檔:Getting Started with ASP.NET Web API 2。另外,如果想對REST有更深入的了解的話,可以看看infoq的這篇文章:深入淺出REST。關于Asp.net Web API其它內容,我后續(xù)大概還會陸續(xù)寫幾篇文章來介紹它。

轉載于:https://www.cnblogs.com/Jeely/p/10955954.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結

以上是生活随笔為你收集整理的使用ASP.Net WebAPI构建REST服务(一)——简单的示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。