56 votes

Valeur nulle lorsque Valeurs [FromBody] à la méthode post by Postman plugin

J'utilise l'api contrôleur ASP.net l'API web et j'ai besoin de passer de la valeur à la méthode post par [FromBody] type..

 [HttpPost]
 public HttpResponseMessage Post( [FromBody]string name)
 {
     ....
 }

j'utilise Facteur plugin, mais lors de l'envoyer à la poste de la méthode de la valeur de nom est toujours null.. suivez cette image: enter image description here

et dans les méthodes Post : enter image description here

pourquoi est-ce arrivé?!

77voto

Feiyu Zhou Points 1083

Publiez la chaîne avec json brut et n’oubliez pas les guillemets doubles.

entrez la description de l'image ici

50voto

Igor Points 7994

Vous ne pouvez pas se lier à une seule primitive de la chaîne à l'aide de json et FromBody, json sera de transmettre un objet et le contrôleur s'attendre à un objet complexe (modèle) à tour de rôle. Si vous souhaitez seulement envoyer une corde simple puis d'utiliser l'encodage de l'url.

Sur votre en-tête set

Content-Type: application/x-www-form-urlencoded

Le corps de la requête POST le corps du message doit être =saeed (basé sur le test de la valeur) et rien d'autre. Pour l'inconnu/variable de chaînes que vous avez à encoder la valeur, de sorte que vous n'avez pas s'échapper accidentellement avec une entrée de caractères.


Suppléant 1

Créer un modèle et l'utiliser à la place.

Le corps du Message la valeur: {"name":"saeee"}

c#

public class CustomModel {
    public string Name {get;set;}
}

La Méthode Du Contrôleur

public HttpResponseMessage Post([FromBody]CustomModel model)

Suppléant 2

Passer primitive cordes à votre poste en utilisant l'URI à la place du corps du message.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X