J'utilise le contrôleur api dans l'API Web ASP.net et j'ai besoin de transmettre une valeur à la méthode de publication par le type [FromBody].
[HttpPost]
public HttpResponseMessage Post( [FromBody]string name)
{
....
}
j'utilise Facteur plugin, mais quand envoyer à poster valeur de la méthode nom est toujours nul.. suis cette image:
et dans les méthodes de poste:
pourquoi cela est-il arrivé?!
Vous ne pouvez pas lier une seule chaîne primitive à l'aide de json et de fromBody, json transmettra un objet et le contrôleur attendra un objet complexe (modèle) à son tour. Si vous souhaitez n'envoyer qu'une seule chaîne, utilisez le codage d'URL.
Sur votre en-tête
Content-Type: application/x-www-form-urlencoded
Le corps du message de requête POST) doit être =saeed
(basé sur votre valeur de test) et rien d’autre. Pour les chaînes inconnues/variables, vous devez encoder la valeur dans l’URL de manière à ne pas vous échapper accidentellement avec un caractère saisi.
Créez un modèle et utilisez-le à la place.
Valeur du corps du message: {"name":"saeee"}
c #
public class CustomModel {
public string Name {get;set;}
}
Méthode du contrôleur
public HttpResponseMessage Post([FromBody]CustomModel model)
Passez des chaînes primitives à votre publication en utilisant l'URI au lieu du corps du message.