FromBody obtenir une valeur null
C'est Asp.Net Formulaire de demande
C'est ma méthode POST dans mon Apicontroller
public void Post([FromBody]string value)
{
}
Je suis avec un violon post-traitement.
Je n'ai donc de l'expérience.
Mais il n'a pas.
Quel est le problème.
Pouvez-vous m'aider?
Je l'ai essayé, j'ai échoué.
public void Post(MyViewModel model)
{
string aa = model.Value;
}
public class MyViewModel
{
public string Value { get; set; }
}
Dans Un Violon:
Request Body:
Value=hakan
OriginalL'auteur Hakan Ertuğ | 2013-05-30
Vous devez vous connecter pour publier un commentaire.
Le corps POST de charge utile dans un violon doit être:
au lieu de:
C'est juste un de ces étranges choses sur le modèle de la liaison dans l'API Web. Si vous voulez soutenir
value=foo_bar
dans le POST du corps de la charge utile, vous pouvez toujours écrire un modèle de vue:et ensuite votre méthode de prendre ce modèle de vue en paramètre:
Avez-vous mis le
Content-Type
en-tête de demandeapplication/x-www-form-urlencoded
dans un violon?:):):) Je vous suis reconnaissant. Merci beaucoup, très beaucoup. son fonctionnement.
J'ai eu le même problème avec un Windows programme Java (à l'aide de la Scala et de l'Expédition). Cette réponse résolu pour moi aussi.
Merci d'ajouter "Content-Type: application/x-www-form-urlencoded" a fonctionné pour moi.
OriginalL'auteur Darin Dimitrov
Je rencontre ce problème, et la solution est la suivante:
pour adapter le Corps de la Requête format =foo_bar,
aussi besoin de Demander haders:
OriginalL'auteur dasons
L'API Web Null Bug
Pour le défaut de démarrage (Post) méthode de travail, de publier des données de Fiddler doit apparaître comme suit
OriginalL'auteur
J'ai eu une expérience similaire avec un WebAPI de l'application récemment. La demande avait été fonctionne correctement dans mon environnement de test, mais quand nous avons fait bâtir sur le serveur de build de l'application n'a pas pu désérialiser l'objet et toujours régler le paramètre suivant [FromBody] null.
La cause était le web.config et les paquets.config précisant Json.NET 6.0.4 et le package NuGet qui était dans la corbeille a été 10.0.3.
Le modèle de liaison ressemble à une sorte de boîte noire de l'extérieur à la première. Notamment parce qu'il peut tranquillement retourner null avec aucun signe de ce qui est mal. Sur cette Microsoft page sous la rubrique Tests de Sérialisation d'un Objet, il est un exemple de procédure de test de sérialisation et de désérialisation:
Quand je mets le code ci-dessus dans mon application et il a couru Visual Studio a généré une exception dans les deux sérialiser et désérialiser les fonctions. L'exception clairement indiqué que le chargement de Json.net version 6.0.4 avait échoué. Ce qui m'a conduit à découvrir que la version 10.0.3 était dans la poubelle au lieu de 6.0.4. J'ai cliqué avec le bouton droit sur le projet cliqué gérer les Packages NuGet... dans le menu contextuel. Ensuite supprimé et re-ajout de l'Json.net package NuGet. Faire que l'ensemble de la Json.net package NuGet dans la poubelle et mis à jour les paquets.config et web.config avec correspondance des numéros de version.
OriginalL'auteur Gene Pool