1.6 KiB
1.6 KiB
Business Logic Model — Unit 04: API Shell & Integration
Dit document beschrijft de startup flow en de orkestratie logica van de shell.
1. Startup Orkestratie Flow
sequenceDiagram
participant Program as Program.cs
participant Orc as ModuleOrchestrator
participant Core as Core Services
participant Mod as Modules (IModule)
Program->>Orc: DiscoverModules()
Orc-->>Program: List<IModule>
Program->>Core: RegisterCoreServices(Identity, DB, JWT)
loop Per Module
Program->>Mod: RegisterServices(IServiceCollection)
end
Program->>Program: Build App
Program->>Program: UseExceptionHandler()
loop Per Module
Program->>Mod: UseModule(IApplicationBuilder)
end
Program->>Program: UseAuthentication/Authorization()
Program->>Program: MapControllers()
Program->>Program: Run()
2. API Versioning Logic
De versioning wordt toegepast via een globale RoutePrefix of door gebruik te maken van de Microsoft.AspNetCore.Mvc.Versioning library.
- Base Path:
/api/v1 - Fallback: Verzoeken zonder versie-indicator in het pad worden standaard naar v1 gerouteerd.
3. Dynamische Swagger Groepering
- Swagger scan de controllers van alle geladen assemblies.
- Voor elke controller wordt gekeken naar de assembly waarin deze is gedefinieerd.
- Indien de assembly toebehoort aan een module (bijv.
SlpModularCms.Modules.Availability), wordt de module naam als 'Tag' toegevoegd aan alle endpoints van die controller. - Swagger UI toont de endpoints gegroepeerd onder deze tags.