.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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构