.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.运行


浙公网安备 33010602011771号