MVC 응용 프로그램에서 몇 줄의 코드가 필요한 많은 웹 API 호출을합니다. API 호출을위한 중앙 집중식 메소드를 작성하고 간단한 매개 변수를 API에 전달하는 것과 같습니다. 호출 유형 (GET, POST 등), URL 등내 웹 API를 호출하는 코드를 중앙 집중화하려고합니다.
여기서 도움이 필요한 것은 각 시나리오에서 다른 개체 유형을 반환한다는 것입니다. 피고용자,리스트 < 프로젝트 > 등 어떻게 다른 객체 유형을 반환합니까?
다른 문제는 POST 또는 PUT 호출을 만들고 싶다면 여러 유형의 객체를 중앙 API 호출 메소드에 전달한다는 것입니다. 다시 말하지만, 다른 문제 유형을 수용 할 수 있어야하는 동일한 문제가 있습니다.
나는 Json 오브젝트를 안팎으로 통과시킬 수 있다고 생각하지만, 올바른 접근 방식인지 또는 더 나은 접근 방식이 있는지 확실하지 않습니다. 나는 다른 사람들이 웹 API 콜 코드를 중앙화하려고 시도했다고 확신한다.
* 업데이트 * 여기는 내가 가지고 있지만 조금 더 도움이 필요합니다. 어떻게 결과를 반환합니까?
public static async Task<object> GetApiCall(string apiActionUrl)
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://myApiBaseUrl");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await client.GetAsync(apiActionUrl);
if (response.IsSuccessStatusCode)
{
var result = response.Content.ReadAsStringAsync().Result;
}
}
}
코드에서 중앙 집중화하려는 2 개의 샘플을 표시 할 수 있습니까? 코드에 대한 기본 클래스를 만들거나 호출 처리기 클래스를 만들 수 있지만 두 경우 모두 매개 변수와 반환 형식을 전달하기위한 제네릭을 사용해야합니다. –
필자가 작성한 샘플 코드로 원래 게시물을 업데이트했습니다. 전에는 일반 객체를 반환하지 않았으므로 어떻게 처리하는지 이해하려고합니다. 내 코드에서 분명하지 않은 부분은 웹 API에서 오류 응답을받는 경우입니다. 그럼 내가 무엇을 돌려 줄까요? – Sam
위대한, 당신에게 몇 가지 코드를 작성하고 여기에 게시됩니다. –