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

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

1、概述

    本教程將建立如下 Web API:數據庫

API編程

說明api

請求正文數組

響應正文瀏覽器

GET /api/Bookpost

獲取全部的書籍信息學習

None測試

書籍的數組ui

GET /api/Book/{id}

經過 ID 獲取書籍信息

None

書籍信息

POST /api/Book

添加書籍信息

書籍信息

書籍信息

PUT /api/Book/{id}

根據ID更新現有書籍信息  

書籍信息

None

DELETE /api/Book/{id}    

根據ID刪除書籍

None

None

    下圖顯示了此次咱們所要建立的應用的設計。

 

2、建立 Web API項目

     1) 咱們打開Visual Studio 2017,在菜單中選擇「文件」菜單,而後選擇「新建」 > 「項目」。

     2) 選擇「ASP.NET Core Web 應用程序」模板。 將項目命名爲 BookApi,而後單擊「肯定」。以下圖。

 

      3) 在「新建 ASP.NET Core Web 應用程序 - BookApi」對話框中,選擇 ASP.NET Core 版本。 選擇「API」模板,而後單擊「肯定」。 請不要選擇「啓用 Docker 支持」與「爲HTTPS配置」。以下圖。

 

3、測試 API

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

     在Visual Studio 2017中按 F5 運行應用程序。而後啓動瀏覽器,並在瀏覽器地址欄中輸入 http://localhost:5000/api/values,瀏覽器會調用Get方法進行測試,返回以下圖的 JSON,則證實咱們的應用建立成功。

 

4、添加實體類

      實體是一組表示應用管理的數據的類。 咱們此次使用單個 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 文件夾。

5、數據表建立腳本

       我在這裏直接給出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]

 
相關文章
相關標籤/搜索