Hayır, öyle değil. JSON.net doğrudan HTTP ile karışmıyor. Manuel serileştirme yapmak zorundasınız. Ancak, düzgünlük uğruna RestSharp'ı önerebilir miyim? Kendi kodumu çok daha iyi gösteriyor. ISerializer'ı uygulayabilirsiniz ve bunun içinde, serialize yönteminizin tüm Newtonsoft'ları dahili olarak kullanmasını sağlayın. RestClient, tüm ağır yükleri WebResponse ile ilgili olarak ele alır ve sizin için otomatik olarak seri hale getirecektir. Ve hayır, benim kütüphanem değil.
public IRestResponse<T> Execute<T>(RestRequest request) where T : new()
{
var response = client.Execute(request); // Client is of type RestClient
return JsonConvert.DeserializeObject<T>(response.Content);
}
: Eğer bir dize olarak Json.NET geçebilir İçerik özelliği sağladığı için
public class Employee
{
[JsonProperty(PropertyName = "employee_name")]
public string Name { get; set; }
}
private IRestResponse<Employee> GetEmployee()
{
var request = new RestRequest();
request.Resource = "/api/employees"
request.Method = Method.GET;
var response = Execute<Employee>(request);
}
public IRestResponse<T> Execute<T>(RestRequest request) where T : new()
{
// Pass in reusable ISerializer (can internally use Newtonsoft)
request.JsonSerializer = new JsonNetSerializer();
return client.Execute<T>(request); // Client is of type RestClient
}
Alternatif olarak, hiç uygulamak bir serileştirici bunu edemez