using Inventario.API.Data; var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); // --- 1. DEFINIR LA POLÍTICA CORS --- // Definimos un nombre para nuestra política var MyAllowSpecificOrigins = "_myAllowSpecificOrigins"; // Añadimos el servicio de CORS y configuramos la política builder.Services.AddCors(options => { options.AddPolicy(name: MyAllowSpecificOrigins, policy => { // Permitimos explícitamente el origen de tu frontend (Vite) policy.WithOrigins("http://localhost:5173") .AllowAnyHeader() // Permitir cualquier encabezado .AllowAnyMethod(); // Permitir GET, POST, PUT, DELETE, etc. }); }); // ----------------------------------- builder.Services.AddSingleton(); var app = builder.Build(); // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "Inventario API V1"); c.RoutePrefix = string.Empty; }); } app.UseHttpsRedirection(); // --- 2. ACTIVAR EL MIDDLEWARE DE CORS --- // ¡IMPORTANTE! Debe ir ANTES de MapControllers y DESPUÉS de UseHttpsRedirection (si se usa) app.UseCors(MyAllowSpecificOrigins); // ---------------------------------------- app.MapControllers(); app.Run();