-
Notifications
You must be signed in to change notification settings - Fork 8
Wissance.WebApiToolkit wiki
Ushakov Michael edited this page Sep 18, 2025
·
32 revisions
Wissance.WebApiToolkit is a set of libraries that helps to build WebAPI faster with a standardized manner and approach. We told WebAPI therefore we mean not only REST but also gRPC and SignalR too. Wissance.WebApiToolkit is well structured and contains reusable parts that allow you to combine them and extend default behavior. Core interfaces of Wissance.WebApiToolkit are independent from any specific technology and could be easily implemented with different techologies.
Solution contains multiple projects, the most important are:
-
Wissance.WebApiToolkit.Corecore interfaces and classes that minimally depend on libs and frameworks that are not part of FCL. -
Wissance.WebApiToolkit.Ef implementations of base Core interfaces based on
EntityFrameworkfor managing persistent data -
Wissance.WebApiToolkit.AWS.S3 implementation of the
IFileManagerand other utils for working with files and directories with different S3 Cloud services (AWS,Cloudflare R2,Yandexand many others compatible byAPIwithAmazon)
Wissance.WebApiToolkit structure is shown in the picture below:

There are following main concepts:
- The system is split on 3 main levels:
DTO/Message,Controller/Service, andManager - All controller base operations are related to a specific
TObjclass (same for all operations). - The result of the operation is represented with a
DTO/Messageobject except for theDeleteoperation. - There is an additional branch (file management) that does not yet have a generic controller (maybe in the future)
- Translation from
TObjtoTResand back is performed byFactoryclasses
Therefore the main algorithm to create Application with WebApiToolkit:
- Create a set of entity classes (
TObj/TData) that implementsIModelIdentifiableinterface - Create a set of entity representation as
TRes(DTO) likeTRes Create(TObjentity) - Create a set of manager classes for pairs (
TRes,TObj) - Create Controllers that derives from
BasicReadController,BasicCrudController, orBasicBulkCrudControlleror service corresponding to these Controllers classes
...tbd