Refactor: Update NetworkService with proper initializer and REST methods (GET, POST, PATCH, DELETE)
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user