public void ConfigureServices(IServiceCollection services)
{
services.AddControllers().AddNewtonsoftJson();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "API", Version = "v1" });
c.DocInclusionPredicate((docName, description) => true);
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Description = "JWT授權(數據將在請求頭中進行傳輸) 在下方輸入Bearer {token} 即可,注意兩者之間有空格",
Name = "Authorization",//jwt默認的參數名稱
In =ParameterLocation.Header,//jwt默認存放Authorization信息的位置(請求頭中)
Type =SecuritySchemeType.ApiKey
});
//認證方式,此方式為全局添加
c.AddSecurityRequirement(new OpenApiSecurityRequirement {
{ new OpenApiSecurityScheme
{
Reference = new OpenApiReference()
{
Id = "Bearer",
Type = ReferenceType.SecurityScheme
}
}, Array.Empty<string>() }
});
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, XAdminSettingService xAdminSetting)
{
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
#region 開發環境下啟用Swagger
app.UseSwagger();
app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "API v1")) ;
#endregion
}
}