MVC4 RC WebApi liaison de paramètre
J'ai mis à niveau à partir de MVC4 beta RC et la dernière autofac. L'action suivante a été de liaison correctement, mais maintenant, les deux paramètres sont nuls. Je vois, ils ont changé des choses sur les Formateurs et que telle, mais je ne suis pas sûr de ce que la cause de mon problème
[HttpPost]
RedirectModel MyAction(string value1, string value1)
DEMANDE
Method: POST
Accept: application/json
URL: api/controller/myaction
BODY: {"value1":"1000", "value2":"foo"}
OriginalL'auteur Thad | 2012-06-08
Vous devez vous connecter pour publier un commentaire.
Pas vraiment sûr de savoir pourquoi le changement de la Bêta, mais j'ai été capable de le faire fonctionner en modifiant l'action de la signature:
et la définition de MyActionDTO comme
Il a été lancer une exception à propos de ne pas être capable de se lier à plusieurs corps de paramètres à l'aide de la chaîne de deux paramètres. Je suppose que l'aide de la DTO objet de plus près, représente ce que vous envoyez dans l'appel AJAX (un objet JSON).
Vous avez raison. J'ai mis à jour ma réponse...
Qui ne fonctionne pas, mais j'espérais ne pas avoir à le changer. Nous avons quelques appels qui ont une seule chaîne de caractères dans le corps. Je ne sais pas pourquoi d'un seul type primitif est nécessaire pour être sur la chaîne de requête.
Selon ceci:blogs.msdn.com/b/jmstall/archive/2012/04/16/..., vous pouvez passer à un et un seul élément dans le corps. Donc, si vous souhaitez passer une chaîne de valeur, vous pouvez le faire, il suffit de passer la valeur sans les enveloppant comme une chaîne JSON.
asp.net site mis à jour aujourd'hui avec plus d'info: asp.net/web-api/overview/working-with-http/... Remarque: vous devez préfixer la valeur avec un signe égal (=) lors de l'affichage d'une simple valeur dans le corps
OriginalL'auteur Jim Harte
Lorsque vous souhaitez éviter d'utiliser un DTO objet, essayez ceci:
Content d'avoir pu aider
Je vous remercie. Ce qui a fonctionné pour moi.
OriginalL'auteur mhu