FastEndpoints C# (.NET): guia completo com exemplos práticos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

FastEndpoints para C# (.NET): guia completo com exemplos práticos

FastEndpoints é uma biblioteca moderna e de alto desempenho para criar APIs web na plataforma .NET (ASP.NET Core), que implementa o padrão REPR (Request-Endpoint-Response). Diferente da abordagem tradicional MVC (Model-View-Controller) ou Minimal API, o FastEndpoints oferece uma arquitetura mais limpa, modular e testável, onde cada endpoint é uma classe separada, responsável por processar uma requisição específica.

Por que usar essa biblioteca? Em projetos grandes com dezenas ou centenas de endpoints, os controllers tradicionais rapidamente se tornam "objetos divinos" com lógica inchada. O FastEndpoints resolve esse problema forçando o desenvolvedor a separar responsabilidades de forma clara: uma classe = um endpoint. Isso simplifica a manutenção, os testes e o reuso de código. Além disso, a biblioteca é construída sobre o nativo System.Text.Json e otimizada para máxima performance, tornando-se uma das bibliotecas mais rápidas para criar APIs no ecossistema .NET.

FastEndpoints é ideal para arquitetura de microsserviços, projetos com Domain-Driven Design (DDD) e Clean Architecture. Ela oferece validação embutida (via FluentValidation), suporte a Swagger/OpenAPI, tratamento de erros, cache, versionamento de endpoints e muito mais, eliminando a necessidade de escrever código repetitivo.

Instalação

O FastEndpoints é instalado via NuGet. Você precisará do .NET SDK 6.0 ou superior. Execute um dos seguintes comandos no terminal:

dotnet add package FastEndpoints

Para integração com Swagger (opcional, mas recomendado):

dotnet add package FastEndpoints.Swagger

Para usar FluentValidation (recomendado):

dotnet add package FluentValidation

Início rápido — exemplo funcional mínimo

Crie um novo projeto ASP.NET Core Web API (vazio ou com controllers — não importa, pois usaremos FastEndpoints).

Passo 1: Configuração do Program.cs

using FastEndpoints;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddFastEndpoints(); // Registra os serviços do FastEndpoints

var app = builder.Build();
app.UseFastEndpoints(); // Conecta o middleware
app.Run();

Passo 2: Criando um endpoint

Crie uma pasta Endpoints e dentro dela o arquivo HelloEndpoint.cs:

using FastEndpoints;

namespace MyApi.Endpoints;

public class HelloEndpoint : Endpoint<EmptyRequest, string>
{
    public override void Configure()
    {
        Get("/api/hello"); // Método HTTP GET em /api/hello
        AllowAnonymous();  // Acessível sem autenticação
    }

    public override async Task HandleAsync(EmptyRequest req, CancellationToken ct)
    {
        await SendAsync("Olá, Mundo!", cancellation: ct);
    }
}

Passo 3: Execução

Execute a aplicação (dotnet run) e abra o navegador em http://localhost:5000/api/hello. Você verá a resposta: Olá, Mundo!

Principais classes e métodos

Abaixo estão as principais classes e métodos da biblioteca FastEndpoints com exemplos de uso.

1. Classe Endpoint<TRequest, TResponse>

Assinatura: public abstract class Endpoint<TRequest, TResponse> : BaseEndpoint where TRequest : notnull, new()

O que faz: Classe base para criar um endpoint. Recebe o tipo da requisição (TRequest) e o tipo da resposta (TResponse).

Exemplo:

public class CreateUserEndpoint : Endpoint<CreateUserRequest, Us

Recommendations