Atc.Rest.Extended
3.0.174
dotnet add package Atc.Rest.Extended --version 3.0.174
NuGet\Install-Package Atc.Rest.Extended -Version 3.0.174
<PackageReference Include="Atc.Rest.Extended" Version="3.0.174" />
<PackageVersion Include="Atc.Rest.Extended" Version="3.0.174" />
<PackageReference Include="Atc.Rest.Extended" />
paket add Atc.Rest.Extended --version 3.0.174
#r "nuget: Atc.Rest.Extended, 3.0.174"
#:package Atc.Rest.Extended@3.0.174
#addin nuget:?package=Atc.Rest.Extended&version=3.0.174
#tool nuget:?package=Atc.Rest.Extended&version=3.0.174
Atc.Rest.Extended
Target Framework: net9.0
Advanced REST API features extending Atc.Rest with API versioning, FluentValidation, Swagger/OpenAPI documentation, and JWT authentication. This library builds on the foundation of Atc.Rest to provide enterprise-ready API capabilities.
Why Use This Library?
Atc.Rest.Extended adds production-ready features on top of Atc.Rest, providing everything needed for modern, versioned, and well-documented APIs. Instead of manually configuring multiple libraries, Atc.Rest.Extended provides:
- API Versioning: Built-in support for versioning your REST APIs
- FluentValidation: Advanced validation beyond data annotations
- Swagger/OpenAPI: Automatic API documentation with SwaggerUI
- JWT Authentication: Integrated JWT bearer token authentication
- Extended Configuration: All Atc.Rest features plus advanced options
Perfect for:
- Enterprise APIs requiring versioning
- APIs needing comprehensive request validation
- Public APIs requiring OpenAPI/Swagger documentation
- Microservices with JWT authentication
- Teams adopting API-first development
Installation
dotnet add package Atc.Rest.Extended
Target Framework
- .NET 9.0
Key Features
- API versioning with Asp.Versioning
- FluentValidation for complex validation rules
- Swagger/OpenAPI specification generation
- SwaggerUI for interactive API documentation
- JWT Bearer authentication support
- All features from Atc.Rest
Requirements
Key Dependencies
- Atc.Rest (base library)
- Asp.Versioning.Mvc.ApiExplorer
- FluentValidation.AspNetCore
- Swashbuckle.AspNetCore
- Microsoft.AspNetCore.Authentication.JwtBearer
- Microsoft.ApplicationInsights.AspNetCore
Code documentation
services.AddRestApi and app.ConfigureRestApi examples
Using - minimal setup
Example with a minimal setup in the Startup.cs
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
restApiOptions = new RestApiOptions
restApiOptions.AddAssemblyPairs(
Assembly.GetAssembly(typeof(ApiRegistration)),
Assembly.GetAssembly(typeof(DomainRegistration)));
}
public IConfiguration Configuration { get; }
private readonly RestApiOptions restApiOptions;
public void ConfigureServices(IServiceCollection services)
{
services.AddRestApi<Startup>(restApiOptions);
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.ConfigureRestApi(env, restApiOptions);
}
}
Using - specified features setup
Example with specified features in the Startup.cs
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
restApiOptions = new RestApiExtendedOptions
{
// Base
AllowAnonymousAccessForDevelopment = true,
UseApplicationInsights = true,
UseAutoRegistrateServices = true,
UseValidateServiceRegistrations = true,
UseEnumAsStringInSerialization = true,
UseHttpContextAccessor = true,
ErrorHandlingExceptionFilter = new RestApiOptionsErrorHandlingExceptionFilter
{
Enable = true,
UseProblemDetailsAsResponseBody = true,
IncludeExceptionDetails = true,
},
UseRequireHttpsPermanent = true,
UseJsonSerializerOptionsIgnoreNullValues = true,
JsonSerializerCasingStyle = CasingStyle.CamelCase,
// Extended
UseApiVersioning = true,
UseFluentValidation = true,
UseOpenApiSpec = true,
};
restApiOptions.AddAssemblyPairs(
Assembly.GetAssembly(typeof(ApiRegistration)),
Assembly.GetAssembly(typeof(DomainRegistration)));
}
public IConfiguration Configuration { get; }
private readonly RestApiExtendedOptions restApiOptions;
public void ConfigureServices(IServiceCollection services)
{
if (!restApiOptions.UseAutoRegistrateServices)
{
// Manual ConfigureServices
services.ConfigureServices();
}
services.ConfigureOptions<ConfigureSwaggerOptions>();
services.AddRestApi<Startup>(restApiOptions, Configuration);
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.ConfigureRestApi(env, restApiOptions);
}
}
Contributing
Contributions are welcome! Please see the main repository README for contribution guidelines.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Asp.Versioning.Mvc.ApiExplorer (>= 8.1.1)
- Atc.Rest (>= 3.0.174)
- FluentValidation.AspNetCore (>= 11.3.1)
- Microsoft.ApplicationInsights.AspNetCore (>= 2.23.0)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 9.0.10)
- Swashbuckle.AspNetCore (>= 10.2.3)
-
net9.0
- Asp.Versioning.Mvc.ApiExplorer (>= 8.1.1)
- Atc.Rest (>= 3.0.174)
- FluentValidation.AspNetCore (>= 11.3.1)
- Microsoft.ApplicationInsights.AspNetCore (>= 2.23.0)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 9.0.10)
- Swashbuckle.AspNetCore (>= 10.2.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.174 | 71 | 6/24/2026 |
| 3.0.173 | 72 | 6/24/2026 |
| 3.0.172 | 72 | 6/24/2026 |
| 3.0.67 | 134 | 4/25/2026 |
| 3.0.46 | 117 | 4/15/2026 |
| 3.0.45 | 119 | 4/10/2026 |
| 3.0.44 | 111 | 4/9/2026 |
| 3.0.43 | 114 | 4/9/2026 |
| 3.0.41 | 114 | 4/9/2026 |
| 3.0.40 | 115 | 4/9/2026 |
| 3.0.18 | 296 | 2/9/2026 |
| 3.0.16 | 326 | 12/15/2025 |
| 3.0.12 | 246 | 11/28/2025 |
| 3.0.9 | 583 | 11/21/2025 |
| 3.0.8 | 436 | 11/14/2025 |
| 3.0.4 | 400 | 11/6/2025 |
| 2.0.562 | 653 | 9/4/2025 |
| 2.0.561 | 300 | 9/4/2025 |
| 2.0.560 | 316 | 9/3/2025 |
| 2.0.558 | 316 | 8/22/2025 |