ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署

文章目录

  • 创建项目
    • 点击Nuget安装包
    • 删除原有controllers
    • 编辑新建controll、添加注释
    • Startup 注册Swagger服务
    • 使用swagger中间件
    • 配置XML注释
    • 更改启动端口 launchsettings.json
    • 在startup.cs跨域处理
    • 运行
  • 数据库设计与连接
    • 安装库
    • 新建类继承框架
    • 根据数据库表设计对应设计类
    • 在DataContext中初始化数据库建立属性,属性名最好与数据库表名称一致
    • appsetting.json设置连接字符串
    • Startup.cs注册数据库
  • 部署
    • 发布项目
    • IIS部署
      • 打开IIS——左击网站——添加网站——选中发布的publish文件物理位置
      • 点击应用池程序——找到发布API右击——基本设置——“无托管代码”——确定
      • 在防火墙打开所指定端口

创建项目

ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第1张图片
ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第2张图片

点击Nuget安装包

ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第3张图片

删除原有controllers

ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第4张图片

编辑新建controll、添加注释

ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第5张图片

Startup 注册Swagger服务

  services.AddSwaggerGen(s =>
            {
                //定义由Swagger生成器创建的一个或多个文档
                s.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo()
                {
                    Title = "Swagger测试接口",
                    Description = "这是一个swagger测试接口",
                    Version = "v1",
                    TermsOfService = new Uri("https://test.com"), // A URL to the Terms of Service for the API. MUST be in the format of a URL.   API服务条款的URL

                    Contact = new Microsoft.OpenApi.Models.OpenApiContact()
                    {
                        Email = "[email protected]",
                        Name = "shanshanyouwen"
                    },
                    License = new Microsoft.OpenApi.Models.OpenApiLicense()
                    {

                        Name = "SwaggerLicense",
                        Url = new Uri("https://test.com")
                    }
                });

                //将 Swagger 配置为使用按照上述说明生成的 XML 文件。 对于 Linux 或非 Windows 操作系统,文件名和路径区分大小写。 例如,TodoApi.XML 文件在 Windows 上有效,但在 CentOS 上无效。
                var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                // AppContext.BaseDirectory属性用于构造 XML 文件的路径。 一些 Swagger 功能(例如,输入参数的架构,或各自属性中的 HTTP 方法和响应代码)无需使用 XML 文档文件即可起作用。 对于大多数功能(即方法摘要以及参数说明和响应代码说明),必须使用 XML 文件。
                s.IncludeXmlComments(xmlPath);
            });

使用swagger中间件

  app.UseSwagger(); //启用Swagger
                              //访问地址 http://localhost:5000/swagger/index.html
   app.UseSwaggerUI(); //启用Swagger UI页面

配置XML注释

ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第6张图片
ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第7张图片

 <GenerateDocumentationFile>true</GenerateDocumentationFile>

更改启动端口 launchsettings.json

ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第8张图片

在startup.cs跨域处理

ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第9张图片

 services.AddCors(options => {
     options.AddPolicy("CorsPolicy", builder =>
     {
         builder.SetIsOriginAllowed((x) => true)
        .AllowAnyOrigin()
        .AllowAnyHeader()
        .AllowAnyMethod();
     });
 });

ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第10张图片

 app.UseCors("CorsPolicy");

运行

ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第11张图片

数据库设计与连接

安装库

ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第12张图片

新建类继承框架

新建DataContext类并继承DbContext

 public class DataContext:DbContext
 {
     public DataContext(DbContextOptions<DataContext> options)
         : base(options) { } 

 }

根据数据库表设计对应设计类

对应表
ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第13张图片

对应类

 public class CalPointData
 {
     [Key]
     public int id { get; set; }
     public string PointTag { get; set; }
     public string PointName { get; set; }
     public string PointValue { get; set; } 
     public DateTime? uptime { get; set; } 

 }

在DataContext中初始化数据库建立属性,属性名最好与数据库表名称一致

 public class DataContext:DbContext
 {
     public DataContext(DbContextOptions<DataContext> options)
         : base(options) { }
     /// 
     /// 原始数据点表
     /// 
     public DbSet<CalPointData> dbCalPointData { set; get; }
     /// 
     /// 吹灰器投退点表
     /// 
     public DbSet<SootblowerData> dbSootblowerData { get; set; }
     /// 
     /// 吹灰器投退统计
     /// 
     public DbSet<BlowerCount> dbBlowerCount { get; set; }
     /// 
     /// 吹灰器故障点表
     /// 
     public DbSet<FaultData> dbFaultData { get; set; }
     /// 
     /// 吹灰器故障统计
     /// 
     public DbSet<FaultRecord> dbFaultRecord { get; set; }
     /// 
     /// 机组高温点位
     /// 
     public DbSet<WallData> dbWallData { get; set; }
     /// 
     /// 机组高温超限统计
     /// 
     public DbSet<WallRecord> dbWallRecord { get; set; }
   

 }

appsetting.json设置连接字符串

 "ConnectionStrings": {
   "DataContext": "Server=127.0.0.1;Database=WrdSisData;user=sa;password=@Yiqing7717"
 }

ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第14张图片

Startup.cs注册数据库

ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第15张图片

 services.AddDbContext<DataContext>(options =>
         options.UseSqlServer(Configuration.GetConnectionString("DataContext")));
 services.AddCors(options => {
     options.AddPolicy("CorsPolicy", builder =>
     {
         builder.SetIsOriginAllowed((x) => true)
        .AllowAnyOrigin()
        .AllowAnyHeader()
        .AllowAnyMethod();
     });
 });

部署

发布项目

左击项目——点击发布——点击发布——点击目标位置,就是发布的API所有文件
在后期部署时,可以将整个publish文件夹拷贝放在指定位置
ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第16张图片
ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第17张图片

IIS部署

打开IIS——左击网站——添加网站——选中发布的publish文件物理位置

ASP.NET Core3.1 API 创建(Swagger配置、数据库连接Sql Server)、开发、部署_第18张图片

点击应用池程序——找到发布API右击——基本设置——“无托管代码”——确定

在防火墙打开所指定端口

可参考 https://blog.csdn.net/qq_40685439/article/details/116585478

你可能感兴趣的:(WebAPI,c#基础,数据库,后端)