Passer les deux paramètres de l'API WEB appel à l'aide angulaire post
J'ai le message suivant de la méthode dans mon WEB API contrôleur:
public async Task<HttpResponseMessage> SendPost(Application application)
Je l'appelle à l'aide de javascript à l'aide de angular.js $http.post
et passer à travers le paramètre d'application de JSON:
$http.post("/api/AController/SendPost", JSON.stringify(application)).
success(function (data, status, headers, config) {
}
Cela fonctionne.
Maintenant je veux passer par l'intermédiaire d'un deuxième paramètre comme une simple chaîne de caractères (je ne peux pas modifier l'application existante objet JSON).J'ai essayé quelques méthodes suggérées sur le web, mais aucun d'entre eux semblent fonctionner. J'ai besoin d'être en mesure de faire soemthing comme ceci:
Contrôleur:
public async Task<HttpResponseMessage> SendPost(RentalApplication application,string test)
Javascript:
$http.post("/api/TessIntegration/SendPost", {application:JSON.stringify(application),test:"Some value"}).
success(function (data, status, headers, config) {
}
OriginalL'auteur Denys Wessels | 2015-09-23
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas obtenir plusieurs objets du corps dans WebAPI.
Si vous avez été en passant par deux objets complexes, la solution serait de les envelopper dans un autre objet complexe.
Maintenant, si la 2ème paramètres est un objet simple (comme une chaîne de caractères), vous pouvez simplement passer par une chaîne de requête à la place.
Aussi, vous n'avez pas à stringify, Angulaire fait pour vous.
OriginalL'auteur ThiagoPXP
Trouvé une solution à l'aide de Newtonsoft.Json.Linq.JObject:
Contrôleur:
Javascript:
}
OriginalL'auteur Denys Wessels