如何获得restsharp当前的序列化器/反序列化器?
本文关键字:反序列化 序列化 何获得 restsharp | 更新日期: 2023-09-27 18:12:14
如何访问RestSharp当前的序列化器/反序列化器?
我正在测试一个API使用RestSharp与以下代码。
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);
我希望能够使用与client
执行请求时使用的相同的序列化器来反序列化response.Content
。我试图避免某种如果json
使用这个反序列化器,否则xml
使用这个反序列化器。
我在RestClient
或RestRequest
上找不到任何序列化器暴露的地方。
RestSharp为每个mime类型维护一个不同的反序列化器。
默认情况下,下列mime类型被链接到这些反序列化器:
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,请确保您知道响应时间类型。然后使用AddHandler("response mime-type", new JsonDeserializer())调用来注册想要使用JsonDeserializer的mime类型。