.NET CORE Swagger 写 API接口配置 01

 1.新建项目

 

 

 

 

2.配置swagger NuGet程序包

 

 

3.在 startup 配置全局   readonly string MyCorsPolicy = "CorsPolicy";

 

   readonly string MyCorsPolicy = "CorsPolicy";

 

 

  在Startup ConfigureServices

 

 

public void ConfigureServices(IServiceCollection services)
        {
            services.AddHttpClient();//注入httpclient  用于调用外部api

            services.AddControllers();
            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);
            });
            services.AddDbContext<SchoolDBContext>(opt => opt.UseSqlServer(Configuration.GetConnectionString("SqlServerConnect")));

            #region 程序包控制台生成数据上下文 and model语句
            // "server=.;uid=sa;pwd=123;database=SchoolDB;"
            //Scaffold-DbContext "server=.;uid=sa;pwd=123;database=SchoolDB;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models-force
            //  Scaffold-DbContext "server=.;uid=sa;pwd=123;database=SchoolDB;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
            #endregion

            #region //跨域设置 
            //定义全局 MyCorsPolicy
            services.AddCors(x =>
            {
                x.AddPolicy(MyCorsPolicy, y =>
                {
                    //声明跨域策略:允许所有域,所有请求标头和全部的HTTP方法
                    y.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod();
                });
            });
            #endregion

            services.AddControllers();
        }

 

   在 Configure方法配置

 

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();

                app.UseSwagger();
                app.UseSwaggerUI(c =>
                {
                    c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
                });
            }

            app.UseHttpsRedirection();
            app.UseRouting();

            app.UseCors();//定义跨域请求字符串变量名称
            app.UseCors(MyCorsPolicy);//支持跨域:允许特定来源的主机访问

            app.UseAuthorization();
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers().RequireCors(MyCorsPolicy);
            });
        }

 

 

4.配置 appsettings.json

 

 

 1 {
 2   "Logging": {
 3     "LogLevel": {
 4       "Default": "Information",
 5       "Microsoft": "Warning",
 6       "Microsoft.Hosting.Lifetime": "Information"
 7     }
 8   },
 9   "AllowedHosts": "*",
10   "ConnectionStrings": {
11     "SqlServerConnect": "Data Source=localhost;User ID=sa;Password=123;Database=SchoolDB;Connect Timeout=30;Trusted_Connection=True;"
12     //"MySql": "server=localhost;userid=root;password=root;database=孙武浩_图书管理数据库"
13     //"server=localhost;user" "id=root;database=孙武浩_图书管理数据库;persistsecurityinfo=True"
14   },
15   "CorsPaths": {
16     "OriginOne": "http://localhost:5009", //  本地HTTP
17     "OriginOnes": "https://localhost:5009", //  本地HTTPS
18     "OriginThree": "http://www.mokexs.com:4559/", //  远程HTTP
19     "OriginThrees": "https://www.mokexs.com:4559/" //  远程HTTPS
20   }
21 }

 

 5.配置 launchSettings.json

 

 

 

6.在程序包管理器控制台生成 数据上下文和实体模型

 

 

代码:Scaffold-DbContext "server=.;uid=sa;pwd=123;database=SchoolDB;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

1 #region 程序包控制台生成数据上下文 and model语句
2             // "server=.;uid=sa;pwd=123;database=SchoolDB;"
3             //Scaffold-DbContext "server=.;uid=sa;pwd=123;database=SchoolDB;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models-force
4             //  Scaffold-DbContext "server=.;uid=sa;pwd=123;database=SchoolDB;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
5             #endregion

 

 7.运行

 

posted @ 2022-08-19 17:13  Bruce_Sun  阅读(325)  评论(0)    收藏  举报