Sto usando l'iniezione di dipendenza su un progetto per iniettare servizi usando Injection dependency injection
private async Task<T> GetResult<T>(HttpResponseMessage response)
{
if (typeof(T) == typeof(byte[]))
{
return await(response.Content.ReadAsByteArrayAsync() as Task<T>);
}
else if (typeof(T) == typeof(System.IO.Stream))
{
return await(response.Content.ReadAsStreamAsync() as Task<T>);
}
else if (typeof(T) == typeof(string))
{
return await(response.Content.ReadAsStringAsync() as Task<T>);
}
else
{
return jsonService.Deserialize<T>(await response.Content.ReadAsStringAsync());
}
}
Sto inserendo il servizio JSON nel costruttore.
IJsonService jsonService;
public HttpClientService(IJsonService _jsonService)
{
jsonService = _jsonService;
}
La domanda che ho è la seguente. La deserializzazione JSON è un problema di HTTPService o devo rimuovere quanto segue dal servizio http? (se la de-serializzazione fallisce, restituisce null)
return jsonService.Deserialize<T>(await response.Content.ReadAsStringAsync());
Il servizio Json è il seguente
public class JsonService : IJsonService
{
public T Deserialize<T>(string input)
{
return JsonConvert.DeserializeObject<T>(input);
}
public string Serialize<T>(T input)
{
return JsonConvert.SerializeObject(input);
}
}