diff --git a/XisongSpaceBooking_BackEnd/Program.cs b/XisongSpaceBooking_BackEnd/Program.cs index 48863a6..1830afa 100644 --- a/XisongSpaceBooking_BackEnd/Program.cs +++ b/XisongSpaceBooking_BackEnd/Program.cs @@ -1,12 +1,32 @@ +using Microsoft.EntityFrameworkCore; +using Microsoft.OpenApi.Models; +using XisongSpaceBooking_BackEnd.Configurations; + var builder = WebApplication.CreateBuilder(args); // Add services to the container. - builder.Services.AddControllers(); + +// 配置 Entity Framework +builder.Services.AddDbContext(options => +{ + var connectionString = builder.Configuration.GetConnectionString("DefaultConnection"); + options.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString), + mySqlOptions => + { + mySqlOptions.EnableRetryOnFailure( + maxRetryCount: 5, + maxRetryDelay: TimeSpan.FromSeconds(30), + errorNumbersToAdd: null); + }); +}); + // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddEndpointsApiExplorer(); -builder.Services.AddSwaggerGen(); - +builder.Services.AddSwaggerGen(c => +{ + c.SwaggerDoc("v1", new OpenApiInfo { Title = "西松高中場地預約/Xisong Space Booking API", Version = "v1" }); +}); var app = builder.Build(); // Configure the HTTP request pipeline. @@ -16,6 +36,8 @@ if (app.Environment.IsDevelopment()) app.UseSwaggerUI(); } +app.UseCors("AllowAll"); + app.UseHttpsRedirection(); app.UseAuthorization();