Refactor: Update NetworkService with proper initializer and REST methods (GET, POST, PATCH, DELETE)

This commit is contained in:
2026-05-05 07:56:04 +02:00
parent fd6f9246ba
commit 4bce7d9b09
3 changed files with 135 additions and 68 deletions

View File

@@ -32,5 +32,29 @@ namespace Chtn.CSharp.SDK.Core
return JsonConvert.DeserializeObject<TResponse>(responseJson);
}
public async Task<TResponse> GetAsync<TResponse>(string endpoint)
{
var response = await _httpClient.GetAsync(endpoint);
response.EnsureSuccessStatusCode();
var content = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<TResponse>(content);
}
public async Task<TResponse> PatchAsync<TRequest, TResponse>(string endpoint, TRequest data)
{
var json = JsonConvert.SerializeObject(data);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var request = new HttpRequestMessage(new HttpMethod("PATCH"), endpoint) { Content = content };
var response = await _httpClient.SendAsync(request);
response.EnsureSuccessStatusCode();
var responseContent = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<TResponse>(responseContent);
}
public async Task<TResponse> DeleteAsync<TResponse>(string endpoint)
{
var response = await _httpClient.DeleteAsync(endpoint);
response.EnsureSuccessStatusCode();
var content = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<TResponse>(content);
}
}
}