记录 RestSharp 发送的 XML 或 JSON
Logging the XML or JSON sent by RestSharp
我正在使用 RestSharp 将信息发送到 API。我想记录我发送给此 API 的 XML,以便稍后进行调试。
我想做这样的事情:
var request = new RestRequest(resourcePath, method);
request.AddBody(dto);
Logger.Log(request.Content);
var response = Client.Execute(request);
但是,RestSharp 发送的实际请求似乎并没有暴露。
请求中发送的所有内容都可以在 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();
}
}
我正在使用 RestSharp 将信息发送到 API。我想记录我发送给此 API 的 XML,以便稍后进行调试。
我想做这样的事情:
var request = new RestRequest(resourcePath, method);
request.AddBody(dto);
Logger.Log(request.Content);
var response = Client.Execute(request);
但是,RestSharp 发送的实际请求似乎并没有暴露。
请求中发送的所有内容都可以在 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();
}
}