当前位置: 移动技术网 > IT编程>开发语言>.net > 使用 ASP.NET Core MVC 创建 Web API(一)

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

2019年03月29日  | 移动技术网IT编程  | 我要评论

油价调整最新消息2016,瑜伽垫专卖店 优个网,羊驼与野草的故事

      从今天开始来学习如何在 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://www.lhsxpumps.com/_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]

 

 

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网