Puis-je poster JSON/XML string comme une requête POST au REPOS ServiceStack?
Je suis actuellement en train de travailler sur ServiceStack
, juste très nouveau pour elle. (Très intéressant; ils disent qu'ils sont mieux que WCF et le RESTE de la WCF (GET,POST,PUT,DELETE))
J'ai aussi trouvé utile, avec moins de code à faire et à exécuter rapidement.
Actuellement, lorsque je veux afficher les données. Je fais un objet de la classe et de l'envoyer dans une requête POST.
JsonServiceClient client = new JsonServiceClient(myURL);
MYclass cls= MakeObjectForServiceStackToInsertData();
var res = client.Post<MYClass>("/postrequest", cls);
Par le code ci-dessus, vous pouvez comprendre, quelle est la chose que je suis en train de faire. Je suppose que je ne suis pas mal. S'il vous plaît laissez-moi savoir si vous êtes confus.
Puis-je faire une chaîne JSON pour ma classe (KEY->Value)
dans mon application client (manuellement) et l'afficher à l'aide de service de la pile à un serveur pour Envoyer des Données.
c'est à dire
string str = myJsonString();
var res = client.Post<.....>
Donc, au lieu de publier l'ensemble de l'objet, c'est mieux si je peux faire de chaîne JSON et désérialiser en POST-événement de ServiceStack et insérer des données dans la DB?
Une idée?
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr de ce que votre motivation est de vouloir passer en raw d'une chaîne JSON est bien, mais si c'est pour s'assurer que vous passez uniquement une petite charge utile JSON, vous pouvez utiliser en toute confiance le Json/Jsv ServiceClients puisqu'ils n'incluent pas les valeurs nulles afin de transmettre uniquement les champs que vous remplissez.
Vous pouvez vérifier ce qui est serilalized en utilisant le sérialiseur Json directement.
Si vous voulez juste pour tester, déboguer votre service, la meilleure façon est de simplement utiliser le navigateur par peupler les champs avec une chaîne de requête, j'.e:
Dans la plupart des cas où vous voulez passer de raw d'une chaîne JSON, vous aurez besoin d'utiliser un autre client HTTP, dans ce cas, vous êtes mieux appeler les services web de POSTES avec les données du formulaire au lieu de cela, car il est pris en charge nativement par tous les clients HTTP, et vous n'avez pas besoin d'un sérialiseur JSON à faire. par exemple, voici comment appeler le même service, via HTTP POST avec curl:
Il existe de nombreuses autres façons que vous pouvez appeler le même service, voir Service de la Pile de l'exemple Hello World pour la liste complète. Voici comment vous pourriez l'appeler à l'aide de HTML:
Puisque vous êtes à poster à partir d'un navigateur web de Service de la Pile sera de retour HTML, mais si vous voulez voir le résultat JSON, vous avez juste besoin d'ajouter ?format=json à l'url.
Ou vous pouvez simplement utiliser du JavaScript et jQuery pour la POSTE à votre service web, l'exemple ci-dessous renvoie les résultats sous forme de JSON qui est automatiquement converti en un objet JS:
La bonne chose à propos à l'aide d'un navigateur web pour déboguer vos services est que vous pouvez utiliser le réseau intégré inspecteur (c'est à dire de l'inspecteur web dans google Chrome) pour afficher l'complet de demande/réponse de votre service web.
Si vous n'êtes pas familier avec elle, je vous recommande également de se familiariser avec Fiddler qui vous permet d'analyser le trafic HTTP.
En fonction de mes connaissances dont vous avez besoin pour passer de l'objet (DTO demande).
Mais vous pouvez faire une requête post avec json , si vous voulez exemple de post json demande alors regardez https://github.com/ServiceStack/ServiceStack.Extras/blob/master/doc/UsageExamples/UsingRestAndJson.cs