Skip to main content
 首页 » 编程设计

c#之使用 WEB API HttpClient 使用外部 API 然后以 Angular 显示反序列化结果是否可以接受

2024年02月04日26mengfanrong

<分区>

我需要检索 JSON 提要的内容。我想使用 HttpClient 下载内容。为此,我创建了一个带有 Get 方法的 WEB API Controller ,该方法使用带有 HttpClient 的外部 API,然后返回反序列化的 List内容:

using (HttpClient client = new HttpClient()) 
{ 
    client.BaseAddress = new Uri("externalAPI"); 
    MediaTypeWithQualityHeaderValue contentType = 
                new MediaTypeWithQualityHeaderValue("application/json"); 
    client.DefaultRequestHeaders.Accept.Add(contentType); 
    HttpResponseMessage response = await client.GetAsync(client.BaseAddress); 
    string content = await response.Content.ReadAsStringAsync(); 
    List<MyClass> data = JsonConvert.DeserializeObject<List<MyClass>>(content); 
    return data; 
} 

现在我将使用 Angular 在客户端显示这个列表,我知道我应该如何执行这些步骤,但我的问题是为什么我应该使用 WEB API 来使用另一个外部 API,因为我可以简单地使用 Angular HttpClient 以使用该外部 API?使用此 WEB API 来使用外部 API,然后将 List 返回给 Angular 是否被视为最佳实践?如果不是,如果我必须为此目的使用 MVC,最好的方法是什么?