Transmission des données JSON POST en tant qu'objet dans l'API Web
Les applications de l'API Web ASP.NET MVC4 définissent souvent des méthodes POST pour gérer les soumissions de données. Lors de la réception de données JSON dans le corps de la requête, les développeurs peuvent rencontrer des problèmes où les paramètres POST sont définis sur null. Pour résoudre ce problème, il est important de garantir l'utilisation correcte de Content-Type et de la liaison de modèle.
Content-Type :
Par défaut, ASP.NET utilise Content -Type : application/x-www-form-urlencoded, ce qui n'est pas idéal pour envoyer des données JSON. Pour spécifier JSON, définissez Content-Type : application/json dans vos en-têtes de requête.
Liaison de modèle :
Pour activer la liaison de modèle, décorez le paramètre de la méthode POST avec [ Du corps]. Cet attribut spécifie que les données doivent être liées au corps de la requête plutôt qu'à la chaîne de requête URL.
Exemple :
Dans l'exemple fourni, la méthode du contrôleur attend un Objet client dans le corps de la demande. Pour résoudre le problème de valeur nulle, assurez-vous de spécifier Content-Type: application/json dans vos en-têtes de requête et décorez le paramètre avec [FromBody] comme suit :
public object Post([FromBody] Customer customer)
Côté client, utilisez JSON. stringify pour convertir l'objet Customer en chaîne JSON avant d'envoyer la requête POST.
Objets complexes :
Pour les objets plus complexes, tels que les objets avec des propriétés ou des listes imbriquées , la même approche s’applique. Utilisez JSON.stringify pour sérialiser l'objet côté client et assurez-vous que l'en-tête Content-Type correct est défini.
Dépannage :
Si la liaison de modèle ne fonctionne pas correctement , considérez ce qui suit :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!