Maison > interface Web > js tutoriel > Comment gérer correctement les données JSON POST avec la liaison de modèle dans l'API Web ASP.NET MVC4 ?

Comment gérer correctement les données JSON POST avec la liaison de modèle dans l'API Web ASP.NET MVC4 ?

Patricia Arquette
Libérer: 2024-11-08 01:02:03
original
315 Les gens l'ont consulté

How to Properly Handle JSON POST Data with Model Binding in ASP.NET MVC4 Web API?

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)
Copier après la connexion

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 :

  • Assurez-vous que [FromBody] est appliqué au paramètre de méthode.
  • Vérifiez que l'en-tête Content-Type est défini sur application/json dans la requête.
  • Vérifiez si les classes du modèle correspondent à la structure de données attendue côté client et côté serveur.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal