首先,需要在 ASP.NET Core Web API 项目中安装 Newtonsoft.Json 包(或其他 JSON 库)。
创建一个名为 ApiClient 的类,用于调用第三方 API。这个类应该包含一个方法,该方法接受不同参数,并根据这些参数来构建适当的请求。
示例代码:
using Newtonsoft.Json;
using System.Net.Http;
using System.Threading.Tasks;
public class ApiClient
{
private readonly HttpClient _httpClient;
public ApiClient(HttpClient httpClient)
{
_httpClient = httpClient;
}
public async Task CallApi(string url, string apiKey, string param1, string param2)
{
var request = new HttpRequestMessage(HttpMethod.Get, url);
request.Headers.Add("ApiKey", apiKey);
if(!string.IsNullOrEmpty(param1))
{
request.RequestUri = new Uri($"{url}?param1={param1}");
}
if(!string.IsNullOrEmpty(param2))
{
if(!string.IsNullOrEmpty(param1))
{
request.RequestUri = new Uri($"{request.RequestUri}¶m2={param2}");
}
else
{
request.RequestUri = new Uri($"{request.RequestUri}?param2={param2}");
}
}
var response = await _httpClient.SendAsync(request);
if(response.IsSuccessStatusCode)
{
var json = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject(json);
}
return default(T);
}
}
在这里,我们使用 HttpClient 去调用第三方 API。在 CallApi 方法中,我们传递一个 URL 和一个 API 密钥,以及可选的 param1 和 param2 。我们使用这些参数来构建正确的请求 URL(我们可以根据参数是否为空来构建 URL)并添加 API 密钥到请求头。
如果第三方 API 响应成功,我们就会将返回的 JSON 数据转换成我们需要的类型并返回。
示例代码:
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks