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
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Ricevere notifiche sui test con Azure Load Testing
Collegare applicazioni server e client con .NET Aspire
Recuperare l'ultima versione di una release di GitHub
Triggerare una pipeline su un altro repository di Azure DevOps
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Creare agenti facilmente con Azure AI Agent Service
Ottimizzare le performance usando Span<T> e il metodo Split
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core