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类里先定义一个全局变量。

    private readonly string AllowSpecificOrigin = "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(); });

猜你喜欢

转载自www.cnblogs.com/s666/p/12929785.html