油价调整最新消息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 |
下图显示了这次我们所要创建的应用的设计。
1) 我们打开visual studio 2017,在菜单中选择“文件”菜单,然后选择“新建” > “项目”。
2) 选择“asp.net core web 应用程序”模板。 将项目命名为 bookapi,然后单击“确定”。如下图。
3) 在“新建 asp.net core web 应用程序 - bookapi”对话框中,选择 asp.net core 版本。 选择“api”模板,然后单击“确定”。 请不要选择“启用 docker 支持”与“为https配置”。如下图。
现在我们已经创建了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]
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论