ASP.NET Core 3.1 WebAPI的配置问题

1.swagger的配置

  1:通过NuGet程序包添加 Swashbuckle.AspNetCore

  2:将 Swagger 生成器添加到 Startup.ConfigureServices 方法中的服务集合中:

    services.AddSwaggerGen(c =>

    {

      c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });

    });

  3:在 Startup.Configure 方法中,启用中间件为生成的 JSON 文档和 Swagger UI 提供服务:

    app.UseSwagger();

    app.UseSwaggerUI(c =>

    {

      c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");

     });

2.跨域问题

  1:通过NuGet程序包添加 Microsoft.AspNetCore.Cors

  2:在Startup类里先定义一个全局变量。

    privatereadonlystringAllowSpecificOrigin ="AllowSpecificOrigin";

  3:在Startup的ConfigureServices中添加以下代码来配置跨域处理。

    services.AddCors(options =>

    {

  options.AddPolicy(AllowSpecificOrigin,

builder =>

  {

builder.AllowAnyMethod()

.AllowAnyOrigin()

.AllowAnyHeader();

  });

    });

  4:在Startup的Configure中添加以下代码来配置跨域处理。

    app.UseRouting();

    //CORS 中间件必须配置为在对 UseRouting 和 UseEndpoints的调用之间执行。 配置不正确将导致中间件停止正常运行。

    app.UseCors(AllowSpecificOrigin);

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