使用 ASP.NET Core MVC 創建 Web API(一)


      從今天開始來學習如何在 ASP.NET Core 中構建 Web API 以及每項功能的最佳適用場景。關於此次示例的數據庫創建請參考《學習ASP.NET Core Razor 編程系列一》      學習ASP.NET Core Razor 編程系列十九——分頁

一、概述

    本教程將創建以下 Web API:

API

說明

請求正文

響應正文

GET /api/Book

獲取所有的書籍信息

None

書籍的數組

GET /api/Book/{id}

通過 ID 獲取書籍信息

None

書籍信息

POST /api/Book

添加書籍信息

書籍信息

書籍信息

PUT /api/Book/{id}

根據ID更新現有書籍信息  

書籍信息

None

DELETE /api/Book/{id}    

根據ID刪除書籍

None

None

    下圖顯示了這次我們所要創建的應用的設計。

 

二、創建 Web API項目

     1) 我們打開Visual Studio 2017,在菜單中選擇“文件”菜單,然后選擇“新建” > “項目”。

     2) 選擇“ASP.NET Core Web 應用程序”模板。 將項目命名為 BookApi,然后單擊“確定”。如下圖。

 

      3) 在“新建 ASP.NET Core Web 應用程序 - BookApi”對話框中,選擇 ASP.NET Core 版本。 選擇“API”模板,然后單擊“確定”。 請不要選擇“啟用 Docker 支持”與“為HTTPS配置”。如下圖。

 

三、測試 API

     現在我們已經創建了BookApi應用項目。ASP.NET Core MVC 項目模板會在我們新創建的BookApi項目中默認創建一個WebAPI—— values API。

     在Visual Studio 2017中按 F5 運行應用程序。然后啟動瀏覽器,並在瀏覽器地址欄中輸入 http://localhost:5000/api/values,瀏覽器會調用Get方法進行測試,返回如下圖的 JSON,則證明我們的應用創建成功。

 

四、添加實體類

      實體是一組表示應用管理的數據的類。 我們這次使用單個 Book 類,接下來我們來創建這個Book類。

     1) 在Visual Studio 2017的“解決方案資源管理器”中,右鍵單擊項目。 選擇“添加” > “新建文件夾”。如下圖。

     2) 將文件夾命名為“Models”。

     3) 右鍵單擊“Models”文件夾,然后選擇“添加” > “類”。 將類命名為 Book,然后選擇“添加”。如下圖。

 

    4)在Visual Studio 2017的“解決方案資源管理器”中打開我們剛才創建的Book.cs文件,並輸入以下代碼:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
 

namespace BookApi.Models
{

    public class Book
    {
        public int ID { get; set; }
        [Required]

        [StringLength(50, MinimumLength = 2)]
        public string Name { get; set; }

        [Display(Name = "出版日期")]
        [DataType(DataType.Date)]

         public DateTime ReleaseDate { get; set; }
        [Range(1, 200)]

        [DataType(DataType.Currency)]
        public decimal Price { get; set; }   

        public string Author { get; set; }
        [Required]

        public string Publishing { get; set; }
        [Timestamp]

        public byte[] RowVersion { get; set; }
    }
}

 

  Id 屬性用作關系數據庫中的唯一鍵。

     實體類可位於項目的任意位置,但按照慣例會使用 Models 文件夾。

五、數據表創建腳本

       我在這里直接給出Book表的創建腳本,代碼如下。

CREATE TABLE [dbo].[Book](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Author] [nvarchar](max) NULL,
    [Name] [nvarchar](50) NOT NULL,
    [Price] [decimal](18, 2) NOT NULL,
    [ReleaseDate] [datetime2](7) NOT NULL,
    [Publishing] [nvarchar](max) NOT NULL,
    [RowVersion] [timestamp] NULL,
 CONSTRAINT [PK_Book] PRIMARY KEY CLUSTERED
(
    [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM