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
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Usare il colore CSS per migliorare lo stile della pagina
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Proteggere le risorse Azure con private link e private endpoints
Generare la software bill of material (SBOM) in GitHub
Filtering sulle colonne in una QuickGrid di Blazor
Usare le navigation property in QuickGrid di Blazor
.NET Conference Italia 2024
Loggare le query più lente con Entity Framework
Generare velocemente pagine CRUD in Blazor con QuickGrid
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Utilizzare Locust con Azure Load Testing
I più letti di oggi
- Eseguire query in contemporanea con EF
- Fissare una versione dell'agent nelle pipeline di Azure DevOps
- .NET Aspire per applicazioni distribuite
- Utilizzare Locust con Azure Load Testing
- Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
- Repaint, Reflow e Compositing: Come Funziona il Rendering nel Browser
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!