Files
slp-modular-cms/aidlc-docs/features/slp-modular-cms-api/construction/api-shell/functional-design/logic-model.md
T

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

  1. Swagger scan de controllers van alle geladen assemblies.
  2. Voor elke controller wordt gekeken naar de assembly waarin deze is gedefinieerd.
  3. Indien de assembly toebehoort aan een module (bijv. SlpModularCms.Modules.Availability), wordt de module naam als 'Tag' toegevoegd aan alle endpoints van die controller.
  4. Swagger UI toont de endpoints gegroepeerd onder deze tags.