Próbuję użyć RestSharp do korzystania z usługi sieci Web. Jak dotąd wszystko poszło bardzo dobrze (wiwaty dla Johna Sheehana i wszystkich współpracowników!), Ale napotkałem problem. Powiedzmy, że chcę wstawić XML do treści mojego RestRequest w jego już zserializowanej formie (tj. Jako ciąg). Czy jest na to łatwy sposób? Wygląda na to, że funkcja .AddBody () przeprowadza serializację za kulisami, więc mój ciąg jest zamieniany na <String />
.
Każda pomoc jest mile widziana!
EDYCJA: zażądano próbki mojego obecnego kodu. Zobacz poniżej -
private T ExecuteRequest<T>(string resource,
RestSharp.Method httpMethod,
IEnumerable<Parameter> parameters = null,
string body = null) where T : new()
{
RestClient client = new RestClient(this.BaseURL);
RestRequest req = new RestRequest(resource, httpMethod);
// Add all parameters (and body, if applicable) to the request
req.AddParameter("api_key", this.APIKey);
if (parameters != null)
{
foreach (Parameter p in parameters) req.AddParameter(p);
}
if (!string.IsNullOrEmpty(body)) req.AddBody(body); // <-- ISSUE HERE
RestResponse<T> resp = client.Execute<T>(req);
return resp.Data;
}