loading experience

ASP.NET Core

Minimal API in .NET 10: validazione automatica dei dati

Con AddValidation le Minimal API validano parametri e corpi delle richieste e rispondono con errori standard.

Minimal API in .NET 10: validazione automatica dei dati

Le Minimal API sono il modo più diretto per scrivere API HTTP in ASP.NET Core. Fino a .NET 9 la validazione dei dati in ingresso andava fatta a mano o con librerie esterne; in .NET 10 è integrata.

I dati non validi non arrivano mai al codice dell'endpoint.
I dati non validi non arrivano mai al codice dell'endpoint.

Attivare la validazione

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddValidation();

var app = builder.Build();

app.MapPost("/clienti", (NuovoCliente cliente) =>
    TypedResults.Created($"/clienti/{cliente.Email}", cliente));

app.Run();

public record NuovoCliente(
    [Required, StringLength(100)] string Nome,
    [Required, EmailAddress] string Email,
    [Range(18, 120)] int Eta);

Se il corpo della richiesta non rispetta le regole, l'endpoint non viene nemmeno eseguito: il framework risponde con 400 Bad Request e un oggetto ProblemDetails che elenca i campi non validi.

Cosa viene validato

  • Parametri da route, query e header con attributi di validazione.
  • Corpi JSON, compresi oggetti annidati e collezioni.
  • Tipi che implementano IValidatableObject per regole che coinvolgono più campi.

Escludere un endpoint

app.MapPost("/import-grezzo", (DatiGrezzi dati) => Results.Accepted())
   .DisableValidation();

Buone pratiche

La validazione degli attributi controlla la forma dei dati; le regole di business (il cliente esiste già? il prodotto è disponibile?) restano nel servizio applicativo. Tenere separati i due livelli rende entrambi più semplici da testare.

Commenti (0)

Nessun commento ancora.

Lascia un commento