57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|  | // backend/src/Titulares.Api/Program.cs | ||
|  | using Titulares.Api.Data; | ||
|  | 
 | ||
|  | var builder = WebApplication.CreateBuilder(args); | ||
|  | 
 | ||
|  | // 1. Añadir servicios al contenedor. | ||
|  | // =================================== | ||
|  | 
 | ||
|  | // Añadimos los servicios para los controladores API | ||
|  | builder.Services.AddControllers(); | ||
|  | 
 | ||
|  | builder.Services.AddEndpointsApiExplorer(); | ||
|  | builder.Services.AddSwaggerGen(); | ||
|  | 
 | ||
|  | // Añadimos nuestro repositorio personalizado | ||
|  | builder.Services.AddSingleton<TitularRepositorio>(); | ||
|  | 
 | ||
|  | // Añadimos los servicios de autorización (necesario para app.UseAuthorization) | ||
|  | builder.Services.AddAuthorization(); | ||
|  | 
 | ||
|  | // Añadimos la política de CORS | ||
|  | builder.Services.AddCors(options => | ||
|  | { | ||
|  |     options.AddPolicy("AllowReactApp", builder => | ||
|  |     { | ||
|  |         builder.WithOrigins("http://localhost:5173") | ||
|  |                .AllowAnyHeader() | ||
|  |                .AllowAnyMethod() | ||
|  |                .AllowCredentials(); | ||
|  |     }); | ||
|  | }); | ||
|  | 
 | ||
|  | // 2. Construir la aplicación. | ||
|  | // ========================== | ||
|  | var app = builder.Build(); | ||
|  | 
 | ||
|  | // 3. Configurar el pipeline de peticiones HTTP. | ||
|  | // ============================================ | ||
|  | 
 | ||
|  | if (app.Environment.IsDevelopment()) | ||
|  | { | ||
|  |     app.UseSwagger(); | ||
|  |     app.UseSwaggerUI(); | ||
|  | } | ||
|  | 
 | ||
|  | app.UseHttpsRedirection(); | ||
|  | 
 | ||
|  | // Usamos la política de CORS que definimos | ||
|  | app.UseCors("AllowReactApp"); | ||
|  | 
 | ||
|  | // Usamos la autorización | ||
|  | app.UseAuthorization(); | ||
|  | 
 | ||
|  | // Mapeamos los controladores para que la API responda a las rutas | ||
|  | app.MapControllers(); | ||
|  | 
 | ||
|  | app.Run(); |