EDIT: La solution à la question peut être trouvée dans le premier commentaire de John Sheehan!Test de la désérialisation de RestSharp sans REST-Api correct
Je voudrais utiliser Restsharp comme Rest-Client pour mon projet. Puisque le serveur REST ne fonctionne pas encore, je voudrais tester le client sans le serveur. Mon objectif principal est la désérialisation de la réponse XML retournée. Est-il possible de désérialiser XML en utilisant RestSharp sans RestSharp.RestResponse?
Je l'ai essayé comme ceci:
public void testDeserialization()
{
XmlDeserializer d = new XmlDeserializer();
RestSharp.RestResponse response = new RestSharp.RestResponse();
string XML = @"<Response><Item1>Some text</Item1><Item2>Another text</Item2><Item3>Even more text</Item3></Response>";
response.Content = XML;
d.RootElement = "Response";
Response r = d.Deserialize<Response>(response);
}
public class Response
{
public string Item1 { get; set; }
public string Item2 { get; set; }
public string Item3 { get; set; }
}
Les deserializations crée un objet de la réponse de classe, où chaque champ est nul. Existe-t-il un moyen de tester si (et comment) un xml donné serait désérialisé par RestSharp?
Edit: Pour une meilleure lisibilité - c'est le XML j'utilise:
<Response>
<Item1>Some text</Item1>
<Item2>Another text</Item2>
<Item3>Even more text</Item3>
</Response>
Vous ne devriez pas avoir à spécifier RootElement. C'est seulement pour quand la racine n'est pas au niveau supérieur. Essayez cela et laissez-moi savoir si cela fonctionne. Voici comment nous testons le désérialiseur pour le projet: https://github.com/restsharp/RestSharp/blob/master/RestSharp.Tests/XmlTests.cs –
Merci. Cela a résolu le problème! (Mais je ne peux pas marquer la question comme résolue, parce que la solution est dans un commentaire ... :) – DIF