Spesso capita di dover implementare una action in cui ci aspettiamo un tipo nativo (per es. una string) all'interno del body della richiesta. Le ragioni per cui vogliamo farlo sono molteplici, e includono il voler superare il limite di caratteri dell'URL imposto dai browser, necessità di integrazione con terze parti o ragioni puramente semantiche nell'implementazione della nostra RESTful API.
Al di là del tipo restituito, il metodo che dovremo creare sarà grossomodo come questo:
public string Post([FromBody]string value) { // codice qui... }
Come possiamo notare, il parametro in input è marcato con l'attributo [FromBody], a indicare che ci aspettiamo di trovarlo all'interno del body della richiesta. Si tratta di un passaggio necessario perché il comportamento di default di Web API è di ricercare i tipi nativi all'interno dell'URL.
A questo punto non ci resta che capire come comporre una richiesta per questa action. Affinché il parametro venga correttamente valorizzato, infatti, dobbiamo inserirlo nel body preceduto dal carattere "=", oltre a specificare application/x-www-form-urlencoded come Content-Type:
POST /api/values HTTP/1.1 Host: localhost:23992 Content-Type: application/x-www-form-urlencoded =testValue
Per esempio, utilizzando jQuery, il codice da scrivere è il seguente:
var settings = { "url": "http://localhost:23992/api/values", "method": "POST", "headers": { "content-type": "application/x-www-form-urlencoded" }, "data": "=testValue" } $.ajax(settings).done(function (response) { console.log(response); });
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Path addizionali per gli asset in ASP.NET Core MVC
Change tracking e composition in Entity Framework
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Migliorare l'organizzazione delle risorse con Azure Policy
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Eseguire i worklow di GitHub su runner potenziati
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Gestione file Javascript in Blazor con .NET 9
I più letti di oggi
- Repaint, Reflow e Compositing: Come Funziona il Rendering nel Browser
- Esaminare documenti con namespace con LINQ e XDocument
- .NET Conference Italia 2024 - Milano
- Disponibile la release finale di Moonlight 1.0
- Usare la dependency injection built-in nelle Azure Function
- Impostare il lazy loading con Entity Framework 4.0
- Spaziatura tra i caratteri in Silverlight 5
- Mostrare finestre di alert e di conferma in Silverlight 2.0