.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
{
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
7,搭建webapi接口实现增删改查(这里我直接贴源码)
///
/// 测试api
///
[Route("api/[controller]")]
[ApiController]
public class TestController : ControllerBase
{
private readonly SqlContext _context;
///
/// 构造函数
///
///
public TestController(SqlContext sqlContext)
{
_context = sqlContext;
}
///
/// 添加用户
///
///
[HttpPost("Add")]
public int AddUser(User user)
{
_context.Users.Add(user);
var data = _context.SaveChanges();
return data;
}
///
/// 查询所有用户
///
///
[HttpPost("GetAllUser")]
public List
{
return _context.Users.ToList();
}
///
/// 删除用户
///
///
[HttpPost("Delete")]
public void Delete(string name)
{
User user = _context.Users.Where(x => x.Name == name).FirstOrDefault();
_context.Users.Remove(user);
_context.SaveChanges();
}
///
/// 通过姓名查找用户
///
///
///
[HttpPost("SelectByName")]
public User GetUser(string name)
{
User user = _context.Users.Where(x => x.Name == name).FirstOrDefault();
return user;
}
}
8,测试接口,运行项目访问https://端口/swagger/index.html