1. 程式人生 > 其它 >.Net Core 基礎學習筆記(一) Swagger配置使用

.Net Core 基礎學習筆記(一) Swagger配置使用

1. 安裝swagger 包

2.Startup中 ConfigureServices 方法中新增程式碼

services.AddSwaggerGen(c =>
{
c.SwaggerDoc("service1", new Microsoft.OpenApi.Models.OpenApiInfo { Title = "service1", Version = "1.0" });
});

  

3.Startup中 Configure 方法中新增程式碼

if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}

// app.UseHttpsRedirection();

app.UseRouting();
app.UseSwagger(c=> {
c.RouteTemplate = "{documentName}/swagger.json";
});

app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/service1/swagger.json", "Service1 version 1.0");
});

app.UseAuthorization();

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

4.使用自定義埠,在Program中新增UseUrls()

 public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .UseServiceProviderFactory(new AutofacServiceProviderFactory())
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                    webBuilder.UseUrls("http://0.0.0.0:8001");
                });

5.踩坑點記錄

(1) 使用http訪問需要註釋掉app.UseHttpsRedirection(); 改程式碼會將http 重定向至 https,導致專案無法訪問

(2) docker 部署時 需要使用 0.0.0.0:埠,否則無法正常對映,外網無法訪問