2015-06-25 40 views
2

我正在使用RestSharp将信息发送到API。我想记录已发送到此API的XML,以便稍后进行调试。记录由RestSharp发送的XML或JSON

我愿做这样的事情:

var request = new RestRequest(resourcePath, method); 
request.AddBody(dto); 
Logger.Log(request.Content); 
var response = Client.Execute(request); 

但是,通过RestSharp实际发送的请求似乎并没有被曝光。

回答

0

请求中发送的所有内容都可以在request.Parameters中找到。

为了获取请求体更容易我创造了这个扩展方法:

public static class RestSharpExtensions 
{ 
    public static string GetBody(this IRestRequest request) 
    { 
     var bodyParameter = request.Parameters 
      .FirstOrDefault(p => p.Type == ParameterType.RequestBody); 
     return bodyParameter == null 
      ? null 
      : bodyParameter.Value.ToString(); 
    } 
}