.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)是对象关系映射,是一个思想,它的作用是在关系数据库与对象之间做一个自动映射,将数据库中的表格映射到一个类,也就是持久化类,数据表中每行映射为对象 ...
随机推荐
- vue之keep-alive的使用
keep-alive:是vue内置的一个组件,可以使被包含的组件保留状态或避免重新渲染.有两个生命周期函数:activated.deachtivated.在vue 2.1.0版本后新增了两个属性:in ...
- HTML Entry 源码分析
简介 从 HTML Entry 的诞生原因 -> 原理简述 -> 实际应用 -> 源码分析,带你全方位刨析 HTML Entry 框架. 序言 HTML Entry 这个词大家可能比 ...
- ApacheCN C/C++ 译文集(二) 20211204 更新
编写高效程序的艺术 零.序言 第一部分:性能基础 一.性能和并发性介绍 二.性能测量 三.CPU 架构.资源和性能 四.内存架构和性能 五.线程.内存和并发 第二部分:高级并发 六.并发和性能 七.并 ...
- ApacheCN JavaScript 译文集 20211122 更新
JavaScript 编程精解 中文第三版 零.前言 一.值,类型和运算符 二.程序结构 三.函数 四.数据结构:对象和数组 五.高阶函数 六.对象的秘密 七.项目:机器人 八.Bug 和错误 九.正 ...
- 让HTML和JSP页面不缓存从Web服务器上重新获取页面
感谢原文作者:佚名 原文链接:https://www.jb51.net/web/100639.html 问题描述 用户退出后,如果点击浏览器上的后退按钮,Web应用将不能正确保护受保护的页面--在Se ...
- Android图表库hellocharts详解
感谢大佬:https://www.cnblogs.com/huolongluo/p/5988644.html 因为项目需要搞一个折线图,按照日期显示相应的成绩,所以有了本文. 以前用过一次XCL-ch ...
- Math 数学类
/* Math 数学类, 主要是提供了很多的数学公式. abs(double a) 获取绝对值 ceil(double a) 向上取整 floor(double a) 向下取整 round(float ...
- k8s之Dashboard插件部署及使用
k8s之Dashboard插件部署及使用 目录 k8s之Dashboard插件部署及使用 1. Dashboard介绍 2. 服务器环境 3. 在K8S工具目录中创建dashboard工作目录 4. ...
- Pandas之isna,fillna
isna() 释义 筛选为NaN的布尔值,可接受单个标量或者数组 举例 筛选stu_name为NaN的所有行: df = pd.DataFrame({'stu_name': ['Tom', 'Tony ...
- linxu 查看运行日志
journalctl - 检索 systemd 日志 journalctl 可用于检索 systemd(1) 日志(由 systemd-journald.service(8) 记录). 如果不带任何参 ...