创建WebApi
一.创建 Web 项目
- 使用vs创建项目,选择“ASP.NET Core Web 应用程序”模板,将项目命名为 TodoApi,然后单击“确定”。
- 在“新建 ASP.NET Core Web 应用程序 - TodoApi”对话框中,选择 ASP.NET Core 版本。 选择“API”模板,然后单击“确定”。请不要选择“启用 Docker 支持”。

添加模型类
- 新建文件夹Models,右键单击“Models”文件夹,然后选择“添加” > “类”。 将类命名为 TodoItem,然后选择“添加”。添加以下代码
namespace TodoApi.Models
{
public class TodoItem
{
public long Id { get; set; }
public string Name { get; set; }
public bool IsComplete { get; set; }
}
}
- 模型类可位于项目的任意位置,但按照惯例会使用 Models 文件夹。
添加数据库上下文
- 数据库上下文是为数据模型协调 Entity Framework 功能的主类。 此类由
Microsoft.EntityFrameworkCore.DbContext类派生而来。 - 右键单击“Models”文件夹,然后选择“添加” > “类”。 将类命名为 TodoContext,然后单击“添加”。添加如下代码
using Microsoft.EntityFrameworkCore; namespace TodoApi.Models
{
public class TodoContext : DbContext
{
public TodoContext(DbContextOptions<TodoContext> options)
: base(options)
{
} public DbSet<TodoItem> TodoItems { get; set; }
}
}
注册数据库上下文
- 在 ASP.NET Core 中,服务(如数据库上下文)必须向依赖关系注入 (DI) 容器进行注册。 该容器向控制器提供服务。
- 在Startup中的ConfigureServices中添加如下代码
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<TodoContext>(opt =>
opt.UseInMemoryDatabase("TodoList"));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
添加控制器
- 右键单击 Controllers 文件夹,在“添加新项”对话框中,选择“API 控制器类”模板

- 将模板代码替换为以下代码:
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using TodoApi.Models; namespace TodoApi.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class TodoController : ControllerBase
{
private readonly TodoContext _context; public TodoController(TodoContext context)
{
_context = context; if (_context.TodoItems.Count() == )
{
// Create a new TodoItem if collection is empty,
// which means you can't delete all TodoItems.
_context.TodoItems.Add(new TodoItem { Name = "Item1" });
_context.SaveChanges();
}
}
}
}
- 如果数据库为空,则将名为
Item1的项添加到数据库。 此代码位于构造函数中,因此在每次出现新 HTTP 请求时运行。 如果删除所有项,则构造函数会在下次调用 API 方法时再次创建Item1。
创建WebApi的更多相关文章
- ASP.NET Core Web API + Angular 仿B站(一) 目的分析以及创建 WebAPI + Angular7 项目
前言: 本系列文章主要为对所学 Angular 框架的一次微小的实践,对 b站页面作简单的模仿. 本系列文章主要参考资料: 微软文档: https://docs.microsoft.com/zh-cn ...
- ASP.NET WebApi 学习与实践系列(1)---如何创建 WebApi
写在前面 最近在做一个app的时候发现需要写后台服务.所以,在考虑是使用webapi还是使用webserver来写这个后台服务的时候.爱纠结的我,最后还是选择了使用webapi来写这个后台服务. 原因 ...
- 使用OAuth、Identity创建WebApi认证接口供客户端调用
前言 现在的web app基本上都是前后端分离,之前接触的大部分应用场景最终产品都是部署在同一个站点下,那么随着WebApi(Restful api)的发展前后端实现的完全分离,前端不在后端框架的页面 ...
- C#创建 WebApi 项目
做web api 可以参考一下网友 C#进阶系列——WebApi 接口参数不再困惑:传参详解 - 懒得安分 - 博客园https://www.cnblogs.com/landeanfen/p/5337 ...
- Web Api ——创建WebAPI
方法在Win10 + VS2017(MVC5)测试通过 1.建立 WebApi项目: 选择菜单 “文件->新建醒目->web ->ASP.NET Web 应用程序” 输入项目名称和位 ...
- asp.net mvc项目创建WebApi简单例子
1.创建默认路由的映射. namespace RedisDemo.App_Start { public class WebApiConfig { public static void Register ...
- 二:使用VS2019 + .net 6创建 webapi 项目
0.创建一个.net 6项目.由于目前.net 6还是预览版,所以需要添加预览版SDK功能.工具 -> 选项 -> 环境 -> 预览功能 ,勾选使用.net sdk预览版. 1.新建 ...
- eclipse + maven + org.glassfish.jersey 创建 webapi
org.glassfish.jersey 和 com.sun.jersey 的区别是,jersy version 2 之前是 com.sun.jersy, 之后改名为 org.glassfish.je ...
- WebSite下创建webapi
注意这里说的是WebSite,不是Webapp 就是我们常说的新建网站,而不是新建项目 直接上代码: 1 在要在website下创建,那么应该这么干.先添加引用和global.asax 2 然后创建对 ...
随机推荐
- Lxde添加触摸板双击功能、防误触
前言 本文链接:https://www.cnblogs.com/hellxz/p/linux_touchpad_settings.html 这时简单记录一下最近两天折腾Lxde的触摸板功能的设置,留待 ...
- .net core 3.0 Signalr - 06 业务实现-业务分析
## 业务需求 1. 人-项目关系 一个人可以属于多个项目,一个项目可以有多个人加入,通知的时候,可以通知项目内的所有人,也可以通知部分人或者某个责任人. 2. 登录互斥 同一个人不允许登录两次(不同 ...
- 使用sp_getAppLock引发的一个小问题
这几天线上频繁报如下的错误:“无法释放应用程序锁(数据库主体: 'public',资源: 'aa'),原因是当前没有保留该应用程序锁.” 下面是写法: declare @result int; BEG ...
- Mybatis-Plus学习.,简化你的开发,提升开发效率.
Mybatis-Plus学习以及实践 简介 参考网址 开发环境 开始开发 - 配置pom.xml - Dao/Service/Entity - 基本方法 - 查询类 - 更新类 分页插件 - pom. ...
- MongoDB 学习笔记之 删除数据,集合,数据库
删除数据,集合,数据库: 删除一个文档: db.media.deleteOne({"name": "Sky"}) 删除多个文档: db.media.delete ...
- e课表项目第二次冲刺周期第三天
昨天干了什么? 昨天和我们组的组员商量,确定了第二个界面的框架内容,即内容的输入和完成按钮,然后通过在网上搜索图片资源,然后我们利用ps软件,将图片通通设置了大小,进行了裁剪,最后为我们所利用,实现第 ...
- 古剑奇谭三已取消该页导航,B站版本无法登陆
最近登陆古剑三突然出现这个问题 怎么重开也无法登陆 最后发现是Ie设置问题 解决方法 点中间这个圆形图标打开 小娜 搜索“ie” 点击打开ie之后点右上角的小齿轮 选择“internet选项” 连接- ...
- python服务端工程师就业面试指导☝☝☝
python服务端工程师就业面试指导 由Python专业面试官打造的课,少之又少,专业代表着经验,代表着对考察点的通透理解,更代表着对你负责 第1章 Python工程师offer直通车(视频+教辅文档 ...
- 可能是把 ZooKeeper 概念讲的最清楚的一篇文章
转载自:https://github.com/Snailclimb/JavaGuide/blob/master/%E4%B8%BB%E6%B5%81%E6%A1%86%E6%9E%B6/ZooKeep ...
- Linux之常用命令II
一.VI编辑器 1) 概述 ◆ Visual Interface(可视化接口): ◆ 类似Windows中的记事本,比记事本强大: ◆ VIM相对于VI做了哪些提升 -VIM支持多级撤销 -VI ...