.net core项目搭建swagger接口实现简单增删改查
.net core搭建swagger
1,新建立.net core项目(这里不再细说)
2,引入NuGet程序包

3,建立项目之后在Startup类中配置swagger


这里我直接把代码贴出来:
在ConfigureServices中添加如下代码:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "API 接口", Version = "v1" });
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath,true);
});
在Configure中添加如下代码:
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
4,配置数据库连接:我这里使用得SQLite数据库


在ConfigureServices中添加如下代码:(建立数据连接)
Action<DbContextOptionsBuilder> dbOptions = options =>
{
options.UseSqlite(Configuration.GetConnectionString("Sqlite"),
sqliteOptions => { sqliteOptions.CommandTimeout(90); });
};
在appsettings.json文件中建立一个绝对路径,指向数据库文件(如用其他数据,则建立对应连接字符串即可,在configureServices中建立对应数据库连接方式)
此处我再给出一个连接mysql数据库得例子:

在appsettings.json文件中配置连接字符串
"ConnectionStrings": {
"MySql": "server=端口好;userid=用户名;password=数据库密码;database=数据库名"
}
5,建立实体类,迁移更新数据库添加表,迁移命令,更新命令这里不再提供查询百度即可
6,建立派生类继承DbContext用于增删改查( DbContext通常将与包含模型的根实体的DbSet<TEntity>属性的派生类型一起使用)

7,搭建webapi接口实现增删改查(这里我直接贴源码)
/// <summary>
/// 测试api
/// </summary>
[Route("api/[controller]")]
[ApiController]
public class TestController : ControllerBase
{
private readonly SqlContext _context;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="sqlContext"></param>
public TestController(SqlContext sqlContext)
{
_context = sqlContext;
}
/// <summary>
/// 添加用户
/// </summary>
/// <returns></returns>
[HttpPost("Add")]
public int AddUser(User user)
{
_context.Users.Add(user);
var data = _context.SaveChanges();
return data;
}
/// <summary>
/// 查询所有用户
/// </summary>
/// <returns></returns>
[HttpPost("GetAllUser")]
public List<User> GetAllUsers()
{
return _context.Users.ToList();
}
/// <summary>
/// 删除用户
/// </summary>
/// <returns></returns>
[HttpPost("Delete")]
public void Delete(string name)
{
User user = _context.Users.Where(x => x.Name == name).FirstOrDefault();
_context.Users.Remove(user);
_context.SaveChanges();
}
/// <summary>
/// 通过姓名查找用户
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
[HttpPost("SelectByName")]
public User GetUser(string name)
{
User user = _context.Users.Where(x => x.Name == name).FirstOrDefault();
return user;
}
}
8,测试接口,运行项目访问https://端口/swagger/index.html
.net core项目搭建swagger接口实现简单增删改查的更多相关文章
- 国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作
专题目录 国产化之路-统信UOS操作系统安装 国产化之路-国产操作系统安装.net core 3.1 sdk 国产化之路-安装WEB服务器 国产化之路-安装达梦DM8数据库 国产化之路-统信UOS + ...
- ado.net的简单数据库操作(三)——简单增删改查的实际应用
果然,在犯困的时候就该写写博客,写博客就不困了,哈哈! 上篇我记录了自己的SqlHelper的开发过程,今天记录一下如何使用这个sqlhelper书写一个具有简单增删改查的小实例啦. 实例描述:在数据 ...
- Mybatis实现简单增删改查
Mybatis的简单应用 学习内容: 需求 环境准备 代码 总结: 学习内容: 需求 使用Mybatis实现简单增删改查(以下是在IDEA中实现的,其他开发工具中,代码一样) jar 包下载:http ...
- Redis:五种数据类型的简单增删改查
Redis简单增删改查例子 例一:字符串的增删改查 #增加一个key为ay_key的值 127.0.0.1:6379> set ay_key "ay" OK #查询ay_ke ...
- idea+spring4+springmvc+mybatis+maven实现简单增删改查CRUD
在学习spring4+springmvc+mybatis的ssm框架,idea整合简单实现增删改查功能,在这里记录一下. 原文在这里:https://my.oschina.net/finchxu/bl ...
- Mybatis的简单增删改查
刚开始学习Mybatis可以先看下官方文档,MyBatis是支持定制化SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis避免了几乎所有的JDBC代码和手工设置参数以及抽取结果集.MyBat ...
- MyBatis之二:简单增删改查
这一篇在上一篇的基础上简单讲解如何进行增删改查操作. 一.在mybatis的配置文件conf.xml中注册xml与注解映射 <!-- 注册映射文件 --> <mappers> ...
- NHibernate初学一之简单增删改查
以前有简单了解NHibernate,但因项目一直没有运用所以也没有机会进行一个详细了解:最近利用一点空闲的时间认真学习它:同样希望把学习过程进行简单记录,今天简单写一个针对MSSQL数据库的增删改查的 ...
- hibernate基本配置与简单增删改查
ORM(Object Relation Mapping)是对象关系映射,是一个思想,它的作用是在关系数据库与对象之间做一个自动映射,将数据库中的表格映射到一个类,也就是持久化类,数据表中每行映射为对象 ...
随机推荐
- Nginx 根据不同的域名来代理转发内部主机-HTTP和HTTPS
一.需求 由于公司只有一个公网,很多 web 项目都想通过 80 或 443 端口来访问,所以需要 Nginx 充当公司网关. 把唯一的公网 IP 80 端口和 443 端口跟 Nginx 网关主机 ...
- ForkJoinPool简单使用
简介 ForkJoinPool的优势在于,可以充分利用多cpu,多核cpu的优势,把一个任务拆分成多个"小任务",把多个"小任务"放到多个处理器核心上并行执行, ...
- JAVA多线程学习九-原子性操作类的应用
当程序更新一个变量时,如果多线程同时更新这个变量,可能得到期望之外的值,比如变量i=1,A线程更新i+1,B线程也更新i+1,经过两个线程操作之后可能i不等于3,而是等于2.因为A和B线程在更新变量i ...
- centos7 安装yum源
centos7的服务器,没有yum,没有wget命令真的寸步难行,经过总结和查询,现在算搞定了,把经验总结一下,以免大家再浪费时间去找原因: 安装yum需要wget安装yum的rpm包,所以前提是先有 ...
- springboot实现分布式锁(spring integration,redis)
Springboot实现分布式锁(Spring Integration+Redis) 一.在项目的pom.xml中添加相关依赖 1)Spring Integration依赖 <dependenc ...
- Eclipse项目上的红叉解决方案
Eclipse项目上存在红叉,但是又不影响运行,同时展开项目未指明任何内容出错,可以按如下步骤进行处理: 0.查看Problems视图,定位错误,发现处理之: 1.检查Build Path中的各个依赖 ...
- .NET 云原生架构师训练营(权限系统 RGCA 开发任务)--学习笔记
目录 目标 模块拆分 OPM 开发任务 目标 基于上一讲的模块划分做一个任务拆解,根据任务拆解实现功能 模块拆分 模块划分已经完成了边界的划分,边界内外职责清晰 OPM 根据模块拆分画出 OPM(Ob ...
- 社交网络分析的 R 基础:(五)图的导入与简单分析
如何将存储在磁盘上的邻接矩阵输入到 R 程序中,是进行社交网络分析的起点.在前面的章节中已经介绍了基本的数据结构以及代码结构,本章将会面对一个实质性问题,学习如何导入一个图以及计算图的一些属性. 图的 ...
- 浅谈Java面向对象之抽象类(abstract)
java语言,声明类时格式为: abstract class Db{} 说明Db类为抽象类.抽象方法是说没有方法的实现(方法体)此方法为抽象方法,只有抽象类和接口中才可以有抽象方法.简而言之,含有抽象 ...
- netty系列之:不用怀疑,netty中的ByteBuf就是比JAVA中的好用
目录 简介 ByteBuf和ByteBuffer的可扩展性 不同的使用方法 性能上的不同 总结 简介 netty作为一个优秀的的NIO框架,被广泛应用于各种服务器和框架中.同样是NIO,netty所依 ...