1.8 KiB
1.8 KiB
Business Rules — Unit 04: API Shell & Integration
Dit document beschrijft de integratie-regels en de orkestratie van de modules.
1. Module Discovery (BR-SHELL-01)
- Scanning: De API Shell scant bij het opstarten naar alle geladen assemblies die voldoen aan het patroon
SlpModularCms.Modules.*. - Interface: Alleen klassen die
IModuleimplementeren worden geregistreerd. - Validatie: Indien een module niet voldoet aan de eisen (bijv. ontbrekende naam of versie), wordt dit gelogd als een fout en wordt de module niet geladen.
2. Dependency Injection & Pipeline (BR-SHELL-02)
- Gecentraliseerde Registratie: De
ModuleOrchestratorroeptRegisterServicesaan op alle gevonden modules voordat de applicatie start. - Middleware Pipeline: De
ModuleOrchestratorroeptUseModuleaan om modules de kans te geven hun middleware te registreren in de HTTP pipeline. - Core First: Core services (Identity, Logging) worden altijd geregistreerd vóórdat de modules aan de beurt zijn.
3. API Versioning & Routing (BR-SHELL-03)
- Gecentraliseerde Prefix: Alle API endpoints krijgen de prefix
/api/v1/. - Afdwingen: Dit wordt globaal geconfigureerd in de Shell zodat individuele modules hier geen rekening mee hoeven te houden in hun route attributen.
4. Swagger Documentatie (BR-SHELL-04)
- Tagging: De Shell groepeert endpoints automatisch per module op basis van de module naam die in de
IModuleinterface is opgegeven. - Security: Swagger wordt geconfigureerd om JWT Bearer tokens te ondersteunen voor het testen van beveiligde endpoints.
5. Cross-Module Communicatie (BR-SHELL-05)
- Ontkoppeling: Modules communiceren niet direct met elkaar via projectreferenties.
- Interfaces: Communicatie verloopt uitsluitend via interfaces die gedefinieerd zijn in
SlpModularCms.Core.