多语言展示
当前在线:646今日阅读:183今日分享:45

C# 如何使用 ASP.NET Core 创建 Web API

ASP.net WebAPI采用Restful协议,进行数据交互。在网站开发中,前后端分离的话,会常用到WebAPI。本文介绍下在ASP.Net Core下,如何创建一个WebAPI。
工具/原料
1

VS2017

2

.Net Core 2.1

方法/步骤
1

第一步:创建一个Web项目。这里我在自己原有的解决方案中新建一个XC.WEBAPI项目。“创建新的 ASP.NET Core Web 应用程序”。选择ASP.NET Core 2.1” 模板选择选择“API。 这里我们取消“启用 Docker 支持” 。

2

第二步:测试。创建完成之后,系统自动生成一个Controller文件夹。打开ValuesController,可以看到有以下几个方法。这里我们修改Get方法,返回test,test如下所示。然后调试系统,返回json数据,如下所示。

3

第三步:创建模型类。我们在XC.WebAPi 下面添加新建文件夹Models.然后在Models下面新建一个Model类 Sys_User。如下所示。Sys_User主要用来存储用户信息。

4

第四步:添加数据库上下文。数据库上下文主要是为了协调Model调用 EF 功能。 此类由 Microsoft.EntityFrameworkCore.DbContext 类派生而来。我们再新建一个Context文件夹,用来存储Context类,然后继承DBContext.

5

第五步:注册数据库上下文。在 ASP.NET Core 系统中,我们的服务必须向关系依赖注入容器(DI容器)进行注册,然后由该容器提供服务。注册方式如下,在StartUp.cs中,添加一下代码: services.AddDbContext(opt =>opt.UseInMemoryDatabase('TodoList'));然后添加相关引用,即可完成注册。

6

第六步:添加控制器。在Controller文件夹上邮件单击添加控制器,在弹出的菜单中选择“API 控制器-空”,如下所示。然后在控制器中添加构造函数,代码如下:        private readonly XCContext _context;        public UserController(XCContext context)        {            _context = context;            if (_context.Users.Count() == 0)            {                _context.Users.Add(new Models.Sys_User { Name = 'Admin' });                _context.SaveChanges();            }        }

7

第七步:添加Get方法。这里我们添加两个异步的get方法。一个是获取用户列表,一个是根据ID获取用户信息。代码如下所示:     }        [HttpGet]        public async Task>> GetUserItems()        {            return await _context.Users.ToListAsync();        }        [HttpGet('{id}')]        public async Task> GetUserItem(long id)        {            var user = await _context.Users.FindAsync(id);            if (user == null)            {                return NotFound();            }            return user;        }调试结果如下所示。

8

第八步:添加创建、修改、删除方法。根据上述步骤,添加创建、修改、删除等方法。如下所示。

9

第九步:调用API。这个步骤介绍下如何使用JQuery调用API。在StartUp的Configure方法下添加一下两行代码:app.UseDefaultFiles();app.UseStaticFiles();然后在wwwroot下新建index.html文件,在页面上编辑代码进行页面的编辑,同时需要编写JS代码。JS代码包括源代码可以在本人的开源项目项目中获取https://github.com/LetterOne/XC。

10

第十步:测试。在测试之前,需要屏蔽掉 Properties\launchSettings.json 。下面的 launchUrl ,这样项目的默认文件 index.html 。如下所示,是测试页面

注意事项

这里只介绍了一个简单的流程开发。其实真正的项目是需要封装一下。后续会持续更新。

推荐信息