如何访问RestSharp的当前串行器/解串器?
我正在使用带有以下代码的RestSharp测试API。
var client = new RestClient("http://EDDEVRGATES/Design_Time_Addresses/TaxFormsImportService");
var restRequest = new RestRequest("json/CreateAccount", Method.POST);
restRequest.RequestFormat = DataFormat.Json;
restRequest.AddBody(new Custom
{
color="blue"
});
var response = client.Execute(restRequest);
我希望能够使用response.Content
执行请求时使用的相同序列化程序来反序列化client
。我试图避免某种if json
使用此反序列化器xml
使用此反序列化器。
我无法在RestClient
或RestRequest
上找到序列化程序所在的任何地方。
答案 0 :(得分:2)
RestSharp为每个mimetype维护一个不同的解串器。
默认情况下,以下mimetypes链接到这些反序列化器:
AddHandler("application/json", new JsonDeserializer());
AddHandler("application/xml", new XmlDeserializer());
AddHandler("text/json", new JsonDeserializer());
AddHandler("text/x-json", new JsonDeserializer());
AddHandler("text/javascript", new JsonDeserializer());
AddHandler("text/xml", new XmlDeserializer());
AddHandler("*", new XmlDeserializer());
如果要使用JsonDeserializer,请确保知道响应mime-type。然后使用 AddHandler("响应mime-type",新的JsonDeserializer())调用来注册那个你要使用JsonDeserializer的mimetype。