C#의 재사용 가능한 UseFetch 유틸리티
헤더
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using Newtonsoft.Json;
수업
public static class UseFetch
{
public static TResponse Get<TResponse>(string url,
Dictionary<string, string> headers = null)
where TResponse : class
{
try
{
var client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
if (headers != null)
{
foreach (var header in headers)
{
client.DefaultRequestHeaders.Add(header.Key, header.Value);
}
}
var response = client.GetAsync(url).Result;
var responseString = response.Content.ReadAsStringAsync().Result;
var deserializedResponse = JsonConvert.DeserializeObject<TResponse>(responseString);
return deserializedResponse;
}
catch (Exception e)
{
throw new Exception(e.ToString());
}
}
public static TResponse Post<TResponse, TRequest>(string url, TRequest request,
Dictionary<string, string> headers = null)
where TRequest : class, new()
where TResponse : class
{
try
{
var serializeRequest = JsonConvert.SerializeObject(request);
var content = new StringContent(serializeRequest);
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
var client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
if (headers != null)
{
foreach (var header in headers)
{
client.DefaultRequestHeaders.Add(header.Key, header.Value);
}
}
var response = client.PostAsync(url, content).Result;
var responseString = response.Content.ReadAsStringAsync().Result;
var deserializedResponse = JsonConvert.DeserializeObject<TResponse>(responseString);
return deserializedResponse;
}
catch (Exception e)
{
throw new Exception(e.ToString());
}
}
}
즐기다 🚀
Reference
이 문제에 관하여(C#의 재사용 가능한 UseFetch 유틸리티), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kachidk/reusable-usefetch-utility-in-c-1jld텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)