ASP.NET Web API 2 入門(一)

來源:互聯網
上載者:User

標籤:style   blog   http   color   io   os   使用   ar   strong   

前言

HTTP 不是只是為了服務的 web 頁。這也是建設公開服務和資料的 Api 的強大平台。HTTP 是簡單的、 靈活的和無處不在。你能想到的幾乎任何平台有 HTTP 庫,因此,HTTP 服務可以達到範圍廣泛的客戶,包括瀏覽器、 行動裝置和傳統的傳統型應用程式。

ASP.NET Web API 是一個用於構建 web Api 在.NET 架構上架構。在本教程中,您將使用 ASP.NET Web API 來建立一個 web API 返回的產品列表。

建立一個 Web API 項目

 在本教程中,您將使用 ASP.NET Web API 來建立一個 web API 返回的產品列表。前端的 web 頁中使用 jQuery 來顯示結果。

啟動 Visual Studio 時,從起始頁中選擇新的項目。或者,從檔案菜單中,選擇建立項目.

模板窗格中,選擇已安裝的模板並展開節點Visual C# 。在Visual C#,選擇Web。在項目模板的列表中,選擇ASP.NET Web 應用程式。命名項目"ProductsApp",並單擊確定.

新的 ASP.NET 項目對話方塊中,選擇的模板。根據"添加檔案夾和核心的參考檔案",選中Web API。單擊確定. 如

 

  

您還可以建立一個 Web API 項目,使用"Web API"模板。Web API 模板使用 ASP.NET MVC 提供了 API 的協助頁面。我在本教程中使用空模板,因為我想要讓沒有 MVC Web API。一般情況下,你不需要知道 ASP.NET MVC 中使用 Web API。 

  添加一個模型

 模型是一個對象,表示您的應用程式中的資料。ASP.NET Web API 可以自動序列化到 JSON、 XML 或其他格式,您的模型,然後將序列化的資料寫入到 HTTP 響應訊息的本文。只要用戶端可以讀取序列化格式,它可以還原序列化的對象。大多數用戶端可以解析 XML 或 JSON。此外,用戶端可以表明哪一種格式它希望通過在 HTTP 要求訊息中設定 Accept 標題。

 

如果方案總管中不可見,請單擊視圖菜單中,選擇方案總管。在方案總管中,按右鍵模型檔案夾。從操作功能表中,選擇添加,然後選擇.

 命名類"Product"。將以下屬性添加到 Product類。

using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace WebApiDemo.Models{    public class Product    {        public int Id { get; set; }        public string Name { get; set; }        public string Category { get; set; }        public decimal Price { get; set; }    }}

添加控制器

 

在 Web API 中,控制器是一個處理 HTTP 要求的對象。我們將添加一個控制器,可以返回由 ID 指定一個單一的產品的列表

如果您已經使用 ASP.NET MVC,你控制器已經熟悉了。Web API 控制器類似於 MVC 控制器,但而不是控制器ApiController類繼承。

方案總管中,按右鍵控制器檔案夾。選擇添加,然後選擇控制器.

添加腳手架對話方塊中,選擇Web API 控制器-空。單擊添加.

 

腳手架建立一個名為控制器檔案夾中的 ProductsController.cs 檔案。

 你不需要把您的控制器放進一個檔案夾命名為控制器。檔案夾名稱是捷徑來組織您的源檔案。 

 如果沒有開啟此檔案,則請雙擊檔案以開啟它。此檔案中的代碼替換為以下內容:

 

using System.Linq;using System.Net;using System.Net.Http;using System.Web.Http;using WebApiDemo.Models;namespace WebApiDemo.Controllers{    public class ProductsController : ApiController    {        Product[] products = new Product[]{          new Product{Id=1,Name="Toky1",Category="中國1",Price=1},          new Product{Id=2,Name="Anglelaf",Category="中國2",Price=3.75M} ,          new Product{Id=3,Name="Sendnal",Category="中國3",Price=16.99M}          };        public IEnumerable<Product> GetAllProducts() {            return products;        }        public IHttpActionResult GetProduct(int id) {            var product = products.FirstOrDefault((p)=>p.Id==id);            if (product == null) {                return NotFound();            }            return Ok(product);        }    }}
View Code

為了保持樣本簡單,產品儲存在一個固定的數組,在控制器類的內部。當然,在實際的應用中,你會查詢資料庫,或使用一些其他外部資料源。

控制器定義返回的產品的兩種方法:

  • GetAllProducts方法返回整個清單上的產品作為一種IEnumerable < 產品 >類型。
  • GetProduct方法尋找一個單一的產品,通過其 id。

就是它 !你有一個工作網路功能 API。每個控制器上的方法對應於一個或多個 Uri:

Controller Method URI
GetAllProducts /api/products
GetProduct /api/products/id

 

ASP.NET Web API 2 入門(一)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.