Ich würde gerne eine RestApi nutzen. Dazu habe ich eine Client- Klasse erstellt und diese generisch gestaltet. Nun würde ich gern über "Try,Catch" etwaige Fehler abfangen. Allerdings bin ich mir nicht sicher wie ich mit den Fehlern umgehen soll. Wie wird hier normalerweise vorgegangen? Ich hatte den Aufbau so gewählt um Aufrufe an den Client zu vereinfachen und um den Client in den Tests Mocken zu können. Des weitern würde ich gern die Fehler in dieser Klasse abfangen, um in den Repositorys lediglich mit den empfangen bzw. nicht empfangenen Daten arbeiten zu können und dort weitestgehend ohne Exceptions-Handling aus zu kommen.
public class ApiClientService : IHttpClientService<string>
{
private HttpClient _httpClient;
public ApiClientService(HttpClient httpClient)
{
_httpClient = httpClient;
}
public ApiClientService()
{
_httpClient=new HttpClient();
}
public async Task<string> GetData(HttpRequestMessage httpRequestMessage, CancellationToken _Token)
{
try
{
using (var response = await _httpClient.SendAsync(httpRequestMessage, _Token))
{
//Logger implementeieren => success response
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
//Pass not String
if (body.GetType() != typeof(string))
{
//Logger implementieren
throw new Exception("return is no string");
}
return body;
}
}
catch (Exception exception)
{
}
}
}