If you need the Representational State Transfer (REST) pattern and well-defined APIs around your resources, or a high performance Graph query language (GraphQL) to read and write data from and to your data stores, our API scaffold supports your project. Based on your product architecture and performance requirements, we help your team get started with their API development journey supporting both patterns from day 1.
Using .Net IOptions, a configurations can be read and parsed into an AppSettings class, which will then be injected into every class with the need to access configuration values. In similar fashion, secrets can be read from Key Vaults using certificate authentication. This API comes specifically configured with Azure KeyVaults, but can be used with other secrets stores.
Entity Framework configured data store, with database migration support, that updates the database upon application start. The DBContext could come with Asp.Net Identity support with flexible ApplicationUser and ApplicationRole, allowing you to add any specific attribute to the user and role. It supports sensitive data logging, lazy loading proxies and a wrapper over EF operations using Repository pattern, allowing you to substitute Entity Framework with any other ORM with the least possible change to your application.
Any API gateway with the ability to read Open API specification can be quickly configured using the specifications generated by Swagger. This scaffold comes with the versioned Swagger portal and documentations which makes it easy to generate Open API specification dynamically from the inline documentation for classes and methods.
Using a middleware, this scaffold manages unhandled exceptions globally along with pre-configured NLog logging methods. Simply define the targets you would like the logs to be sent to, and unhandled exceptions will be records through those mediums.
AutoMapper has been a commonly used library to handle object conversions such as DTOs and ViewModels in a centralised place. This is in addition to Fluent Validation which is used to define and handle all the model validations in a consistent, elegant and centralised fashion.
Small configurations sometimes can take hours to fix and configure. This scaffold comes with predefined CORS policies to control where the API requests with certain methods can come from.
Configured with a codified pipeline, the scaffold is ready to be built and deployed to Azure Web APPs instantly.