使用 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——
valuesAPI。
在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]
- 【翻译】在Visual Studio中使用Asp.Net Core MVC创建第一个Web Api应用(二)
- 【翻译】在Visual Studio中使用Asp.Net Core MVC创建你的第一个Web API应用(一)
- 使用ASP.NET Web API 2创建OData v4 终结点
- 使用属性在 ASP.NET Web API 2 路由创建一个 REST API
- 使用Bootstrap和Web API创建一个ASP.NET web Forms 应用程序
- 使用ASP.NET web API创建REST服务(二)
- ASP.NET Core 中文文档 第二章 指南(2)用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API
- [转]使用ASP.NET Web API 2创建OData v4 终结点
- 【翻译】使用Visual Studio创建Asp.Net Core MVC (一)
- ABP示例程序-使用AngularJs,ASP.NET MVC,Web API和EntityFramework创建N层的单页面Web应用
- 使用ASP.NET web API创建REST服务(二)
- 用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API
- Create an OData v4 Endpoint Using ASP.NET Web API 2.2(使用ASP.NET Web API 2.2创建OData v4端点)
- ASP.NET Core 中文文档 第二章 指南(2)用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API
- 使用Web Part创建个性化的ASP.NET 2.0应用程序
- ASP.NET 2.0使用Web Part创建应用程序之二(共二)
- asp.net 创建文件夹时出错:未找到路径“D:\”的一部分。(asp.net 使用 FSO)
- 使用JScript.NET创建asp.net页面(四)
- 使用JScript.NET创建asp.net页面(六)
- ASP.NET 2.0使用Web Part创建应用程序之二(共二)