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.
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
IValidatableObjectper 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.