Skip to main content
net10.0

Defaults compartilhados para APIs ASP.NET Core: autenticação JWT, Swagger/OpenAPI, health endpoints, middlewares, CORS, rate limiting e OpenTelemetry.

Published
Jul 2, 2026
3mo ago
Total Downloads
963
963

Install

dotnet add package PocArquitetura.ApiDefaults --version 0.18.2-main.4
ProductVersions
.NET
net10.0

README

PocArquitetura.ApiDefaults

Defaults compartilhados para APIs ASP.NET Core da POC poc-arquitetura.

Use este pacote quando uma API precisar reutilizar configuracoes comuns de borda HTTP, middlewares, Swagger/OpenAPI, versionamento, autenticacao JWT, CORS, rate limiting, health endpoints e OpenTelemetry.

Este pacote depende de PocArquitetura.HttpResilienceDefaults para configurar resiliencia no cliente HTTP usado na obtencao de JWKS.

Instalacao

dotnet add package PocArquitetura.ApiDefaults

Uso basico

using ApiDefaults.Extensions;

var builder = WebApplication.CreateBuilder(args);

builder.WebHost.ConfigureApiDefaults();

builder.Services.AddApiDefaults<GlobalExceptionHandler>(
    builder.Configuration,
    "api.localhost",
    "localhost");

builder.Services.AddApiJwtBearerAuthentication(
    jwtOptions,
    builder.Environment,
    options => options.RequireAuthenticatedUserByDefault(),
    builder.Configuration);

builder.Services.AddApiOpenTelemetryDefaults(
    serviceName: "Example.Api",
    useConsoleExporter: builder.Environment.IsDevelopment(),
    otlpEndpoint: builder.Configuration["OpenTelemetry:OtlpEndpoint"]);

var app = builder.Build();

app.UseForwardedHeaders();
app.UseApiDefaults();
app.UseAuthentication();
app.UseAuthorization();

app.MapApiHealthEndpoints(
    static (_, _) => Task.FromResult(true),
    "Valida dependencias necessarias para aceitar trafego HTTP.");

Para Swagger/OpenAPI, use AddApiSwaggerDefaults<TConfigureSwaggerOptions> e UseApiSwaggerDefaults com uma implementacao de IConfigureOptions<SwaggerGenOptions> especifica da API.

Recursos

  • Middlewares de correlation id, limite de body e headers de seguranca.
  • Exception handling com IExceptionHandler e Problem Details.
  • Swagger/OpenAPI com versionamento.
  • Autenticacao JWT Bearer com JWKS.
  • CORS padronizado.
  • Rate limiting por janela fixa.
  • Endpoints /health e /ready.
  • OpenTelemetry para traces e metricas, incluindo metrica de resiliencia HTTP.

Esta e uma biblioteca de estudo/POC. Licenca MIT.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

This version is marked prerelease. Validate its API and upgrade path before production use.Compatibility metadata lists 1 target framework; confirm the exact target used by your application.The published metadata declares 15 direct dependency entries across framework groups. Inspect the resolved dependency graph for your target framework.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.