我们做的是前后端完全分离的一个博客系统,先把API接口开发完再进行web的开发
项目使用到的技术
项目框架:ASP.Net Core 2.2 Web API
ORM:Entity Framework
数据库引擎:SQL SERVER 2017
前端框架:BootSharp
权限验证:基于 Jwt 的角色权限验证
创建Web项目和创建API项目
image.pngimage.png
image.png
创建BlogIService和BlogService和Model和BlogTools类库
image.png项目大体框架
Blog:前端项目(与用户的交互,包含各种表单)
BlogApi:接口项目
BlogTool:工具类
IService:接口服务
Service:实现接口方法(与数据库访问交互)
修改Startup.cs文件,在Startup.cs类中,有两个方法ConfigureServices和Configure,在ConfigureServices方法中,我们将添加数据库字符串连接,通过依赖注入的方式添加到IServiceCollection 容器中,集成swagger(可视化的UI接口页面展示)
需要添加的组件:Autofac,Swagger
Swagger的添加与使用转移至另一篇文章NetCre集成Swagger这里我就不多说了
image.png在appsettings.json文件中添加数据库字符串连接
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"SqlServerConnection": "Server =.;Database =Blog;User ID =sa;Password =1234@qwer;Trusted_Connection = False;"
}
}
创建数据库表User用户表,
ID:自增主键
UserName:用户名
Password:密码采用MD5加密
这里就随便写两三个主要字段,后期优化再加头像性别年龄等字段
image.png
创建Model
image.png
创建数据库上下文BlogDbContext.cs并添加表与Model实体类之间的映射
DbContext主要作为实体类和数据库之间的桥梁,负责与数据的交互
需要添加的组件 EntityFramewordCore
namespace Service
{
public class BlogDbContext:DbContext
{
public BlogDbContext(DbContextOptions<BlogDbContext> options) : base(options) {
}
public DbSet<User> User { get; set; }
}
}
在IService项目下添加IUserService.cs接口
并在Service项目下创建UserService.cs实现IUserService里的所有方法
image.png
image.png
在API中创建UserController.cs 构造函数中注入IUserService对象 编写方法返回json数据
image.png
启动API项目 在路径后面添加/swagger即可打开接口UI界面
image.png
测试
image.png
image.png
项目整体架构
image.png
网友评论