第1章 项目介绍

ASP.NET CORE是一个跨平台的高性能开源框架。
微软在2002年推出第一个版本的.NET Framework。
.NET CORE可以用来开发各种不同的应用程序,例如移动端、桌面端、Web、Cloud、IoT、机器学习、微服务、游戏开发等。是从头到尾重新开发的一个模块化、轻量级、快速的、跨平台框架。

第2章 环境配置与示例创建

  1. #查询dotnet安装版本
  2. dotnet --version
  3. #查询更详细的信息
  4. dotnet --info

创建ASP.NET Core Web API项目

配置HTTPS

为项目支持HTTPS访问做准备

启用Docker

为项目配置Docker容器化,生成镜像做准备

是否启用OpenApi

勾选,创建时则默认添加Swagger的引用

项目分层结构搭建

仓储+服务+接口的分层模式:
仓储层:Repository用来管理数据持久层,它负责数据的CRUD(Create,Read,Update,Delete)。协调领域和数据映射层(数据访问层)之间。它的存在让领域层感觉不到数据访问层的存在,它提供一个类似集合的接口给领域层进行领域对象的访问。
IRepository:仓储接口层
业务逻辑层:Service Layer它常常需要访问Repository层,Services层只负责将Repository仓储层进行调用,它不负责处理,这样可以达到一定程度的解耦。
IServices:服务接口层

第3章 接口文档Swagger

引用NuGet包:“Swashbuckle.AspNetCore”
生成API文档:项目右键=>生成=>输出=>勾选文档文件(生成包含API文档的文件)
关闭注释提醒:项目右键=>生成=>错误和警告=>取消显示警告添加“1591”节点

#region swagger
builder.Services.AddSwaggerGen(c =>
{
    c.SwaggerDoc("v1", new OpenApiInfo
    {
        Version = "v0.1.0",
        Title = "SwiftCode.BBS.API",
        Description = "框架说明文档",
        Contact = new OpenApiContact 
        { 
            Name = "Dao",
            Email = "66988832@qq.com"
        }
    });
    var basePath = AppContext.BaseDirectory;
    var xmlPath = Path.Combine(basePath, "SwiftCode.BBS.API.xml");
    c.IncludeXmlComments(xmlPath, true);//true:显示控制器注释

    var xmlModelPath = Path.Combine(basePath, "SwiftCode.BBS.Model.xml");
    c.IncludeXmlComments(xmlModelPath, true);//true:显示模型注释

    c.OrderActionsBy(o => o.RelativePath);

});

#endregion

app.UseSwagger();

app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json","v1");
    c.RoutePrefix = "";
});

app.UseRouting();

第4章 授权与认证