- Infrastructure/DependencyInjection.cs: AddInfrastructure() 확장 메서드 - Application/DependencyInjection.cs: AddApplication() 확장 메서드 - API/Extensions/ApplicationBuilderExtensions.cs: UseMiddlewarePipeline() 확장 메서드 - Program.cs 정리 (DI/파이프라인 분리) Closes #26
32 lines
846 B
C#
32 lines
846 B
C#
using Serilog;
|
|
using SPMS.API.Extensions;
|
|
using SPMS.Application;
|
|
using SPMS.Infrastructure;
|
|
|
|
var builder = WebApplication.CreateBuilder(new WebApplicationOptions
|
|
{
|
|
WebRootPath = Environment.GetEnvironmentVariable("ASPNETCORE_WEBROOT")
|
|
?? "wwwroot"
|
|
});
|
|
|
|
// ===== 1. Serilog =====
|
|
builder.Host.UseSerilog((context, config) =>
|
|
config.ReadFrom.Configuration(context.Configuration));
|
|
|
|
// ===== 2. Services (DI) =====
|
|
builder.Services.AddApplication();
|
|
builder.Services.AddInfrastructure(builder.Configuration);
|
|
|
|
// ===== 3. Presentation =====
|
|
builder.Services.AddControllers();
|
|
builder.Services.AddOpenApi();
|
|
builder.Services.AddJwtAuthentication(builder.Configuration);
|
|
builder.Services.AddAuthorizationPolicies();
|
|
|
|
var app = builder.Build();
|
|
|
|
// ===== 4. Middleware Pipeline =====
|
|
app.UseMiddlewarePipeline();
|
|
|
|
app.Run();
|