Negli ultimi script abbiamo introdotto gli automatismi resi possibili dal nuovo attributo ApiController in ASP.NET Core 2.1 per quanto riguarda la dell'input e il binding dei parametri con le varie componenti della request Web API.
Un'ulteriore automatismo è presente in caso di upload di file. Non dobbiamo far altro che creare un'action con un parametro di tipo IFormFile oppure, in caso di file multipli, di tipo IEnumerable
[HttpPost, Route("image")] public ActionResult<UploadResultDto> UploadProductImage(IFormFile image) { //... }
Il client potrà inviare uno o più file per mezzo di una richiesta HTTP con Content-Type: multipart/form-data. In questo caso l'attributo ApiController appone automaticamente l'attributo Consumes("multipart/form-data") sull'action per imporre l'utilizzo di quel content type. Se intendiamo rinunciare a questa funzionalità, agiamo ancora una volta sulle opzioni.
services.Configure<ApiBehaviorOptions>(options => { options.SuppressConsumesConstraintForFormFileParameters = true; });
Grazie alle convenzioni che abbiamo visto, riduciamo la quantità di codice ripetitivo, che si traduce in maggiore leggibilità e maggiore rapidità nello sviluppo della nostra applicazione.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sfruttare l'output cache di ASP.NET Core 7 con i controller
Sfruttare i tag nell'output cache di ASP.NET Core 7
Mostrare una preview durante l'upload di un'immagine in Blazor
Utilizzare l'API del browser fetch
Usare domini personalizzati con Azure Container App
Gestire condizioni complesse in JavaScript
Usare il versioning con i controller di ASP.NET Core Web API
Centrare elementi in HTML tramite CSS
Sottoscrizione agli eventi sul contenitore in JavaScript
Permettere l'append ai file di un Azure Storage immutabile
Applicare il versioning ai nostri endpoint ASP.NET Core Minimal API
Test reporting in un workflow di GitHub