您的位置:首页 > 编程语言 > ASP

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

2019-03-28 14:06 981 查看

      从今天开始来学习如何在 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]

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: