Devon4Net.Infrastructure.WebAPI
6.0.2
See the version list below for details.
dotnet add package Devon4Net.Infrastructure.WebAPI --version 6.0.2
NuGet\Install-Package Devon4Net.Infrastructure.WebAPI -Version 6.0.2
<PackageReference Include="Devon4Net.Infrastructure.WebAPI" Version="6.0.2" />
paket add Devon4Net.Infrastructure.WebAPI --version 6.0.2
#r "nuget: Devon4Net.Infrastructure.WebAPI, 6.0.2"
// Install Devon4Net.Infrastructure.WebAPI as a Cake Addin #addin nuget:?package=Devon4Net.Infrastructure.WebAPI&version=6.0.2 // Install Devon4Net.Infrastructure.WebAPI as a Cake Tool #tool nuget:?package=Devon4Net.Infrastructure.WebAPI&version=6.0.2
The DEV-ON time Platform for the .NET stack
devon4net is a real Clean Architecture designed templates to build cloud native solutions (AWS Serverless/Lambda), microservices, WebAPI applications and protobuf applications.
It is build to simplify and standarize the development life-cycle by means of the Microsoft's .Net stack.
All functionalities are built to work as individual and configurable components (well-defined json settings). So, that means you can use them separately or even use all of them in a single application.
Some key-features are:
- Real modular clean Architecture layer
- Global configuration automated. devon4Net can be instantiated on any .net core application template with no effort like AWS templates for serverless applications
- Number of minium libraries. Every component can be used isolated via Nuget in any .NET application without the Weab API Template
- Full and configurable support for HTTP2
- Red button functionality (aka killswitch) to stop attending API request with custom error
- Global management via middleware with error management via custom HTTP errors, killswitch functionality, model state validation
- Support to only accept request from clients with a specific client certificate on Kestrel server.
- Cloud native. AWS templates integration. You can integrate devon4net in your serverless application in a easy way.
- All components use IOptions pattern to be set up properly
- Swagger generation compatible with the latest Open API version.
- External configuration file for each environment
- .NET 6 working solution (Latest v6.0.0)
- Packages and solution templates published on nuget
- Full components customization by config file
- Docker ready (My Thai Star sample fully working on docker)
- Port specification by configuration
- Dependency injection by Microsoft .net Core
- Automapper support
- Entity framework ORM (Unit of work, async methods, Model context generation guide)
- Easy LiteDB support
- Multiplatform support provided by the framework: Windows, Linux and Mac ready
- Samples: My Thai Star backend, Google API integration, Azure login, AOP with Castle
- Documentation site
- Embedded SPA page support
- Easy RabbitMq support (command and event handlers)
- MediatR library for in memory messaging + event handling
- Microfocus SMAX support (component is not maintained, but you can use it as sample to work with)
- Easy class FluentValidation. Create your own rules to determine if an instance of a class is valid or not
- CyberArk integration (component is not maintained, but you can use it as sample to work with)
- Ansible Tower integration. devon4net integrates with Ansible Tower to setup your cloud servers in a easy way (component is not maintained, but you can use it as sample to work with)
- gRPC + Protobuf support
- Kafka: Message producer and consumer handlers. Create/Delete topics as well
- Extra secrets/settings file support
- Added ValidateAntiForgeryToken support via XSRF-TOKEN in cookie and header
Included features:
Cloud Native AWS : - Serverless API project and Lambda Project with multifunction support able to manage secrets as configuration settings, S3, CDK...
Logging: - Text File - Sqlite database support - Serilog Seq Server support - Graylog integration ready through TCP/UDP/HTTP protocols - API Call params interception (simple and compose objects) - API error exception management
Swagger: - Swagger autogenerating client from comments and annotations on controller classes - Full swagger client customization (Version, Title, Description, Terms, License, Json end point definition) - Easy configuration with just one configuration node in your settings file
JWT: - Issuer, audience, token expiration customization by external file configuration - Token generation via certificate - MVC inherited classes to access JWT user properties - API method security access based on JWT Claims
CORS: - Simple CORS definition ready - Multiple CORS domain origin definition with specific headers and verbs
Headers: - Automatic header injection with middleware. - Supported header definitions: AccessControlExposeHeader, StrictTransportSecurityHeader, XFrameOptionsHeader, XssProtectionHeader, XContentTypeOptionsHeader, ContentSecurityPolicyHeader, PermittedCrossDomainPoliciesHeader, ReferrerPolicyHeader
Reporting server: - Partial implementation of reporting server based on My-FyiReporting (now runs on linux container)
Testing: - Integration test template with sqlite support - Unit test template - Moq, xunit frameworks integrated
Circuit breaker: - Integrated with HttpClient factory - Client Certificate customization - Number of retries customizables
LiteDb: - Support for LiteDB - Provided basic repository for CRUD operations
RabbitMq: - Use of EasyQNet library to perform CQRS main functions between different microservices - Send commands / Subscribe queues with one C# sentence - Events management: Handled received commands to subscribed messages - Automatic messaging backup when sent and handled (Internal database via LiteDB and database backup via Entity Framework)
MediatR: - Use of MediatR library to perform CQRS main functions in memory - Send commands / Subscribe queues with one C# sentence - Events management: Handled received commands to subscribed messages - Automatic messaging backup when sent and handled (Internal database via LiteDB and database backup via Entity Framework)
SmaxHcm: - Component to manage Microfocus SMAX for cloud infrastructure services management
CyberArk: - Manage safe credentials with CyberArk
AnsibleTower: - Ansible automates the cloud infrastructure. devon4net integrates with Ansible Tower via API consumption endpoints
gRPC+Protobuf: - Added Client + Server basic templates sample gRPC with Google's Protobuf protocol using devon4net
Kafka: - Added Apache Kafka support for deliver/consume messages and create/delete topics as well
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Devon4Net.Infrastructure.CircuitBreaker (>= 6.0.2)
- Devon4Net.Infrastructure.Common (>= 6.0.2)
- Devon4Net.Infrastructure.Cors (>= 6.0.2)
- Devon4Net.Infrastructure.Extensions (>= 6.0.2)
- Devon4Net.Infrastructure.Grpc (>= 6.0.2)
- Devon4Net.Infrastructure.JWT (>= 6.0.2)
- Devon4Net.Infrastructure.Kafka (>= 6.0.2)
- Devon4Net.Infrastructure.LiteDb (>= 6.0.2)
- Devon4Net.Infrastructure.Logger (>= 6.0.2)
- Devon4Net.Infrastructure.MediatR (>= 6.0.2)
- Devon4Net.Infrastructure.Middleware (>= 6.0.2)
- Devon4Net.Infrastructure.RabbitMQ (>= 6.0.2)
- Devon4Net.Infrastructure.Swagger (>= 6.0.2)
- Devon4Net.Infrastructure.UnitOfWork (>= 6.0.2)
- EasyNetQ (>= 6.3.1)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 6.0.0)
- Microsoft.AspNetCore.Cors (>= 2.2.0)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.Configuration (>= 6.0.0)
- Microsoft.Extensions.DependencyInjection (>= 6.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 6.0.0)
- Serilog.AspNetCore (>= 4.1.0)
- Swashbuckle.AspNetCore (>= 6.2.3)
- Swashbuckle.AspNetCore.Annotations (>= 6.2.3)
- Swashbuckle.AspNetCore.Filters (>= 7.0.2)
- Swashbuckle.AspNetCore.Swagger (>= 6.2.3)
- Swashbuckle.AspNetCore.SwaggerUi (>= 6.2.3)
- System.IdentityModel.Tokens.Jwt (>= 6.15.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
NET 6.0+ compatibility version