来自数据提供者的 .NET Core 2.2 端点

.NET Core 2.2 endpoint from aside data provider

我使用 .NET Core 进行练习,并有一项任务是使用数据提供程序(例如 OpenWeatherMap)为我的前端(我正在使用 Vue.js)创建端点。我确实知道如何直接与该提供商联系并使用 Axios 发送请求。但是我如何使用 .NET Core 2.2 做到这一点? 目前我的项目文件夹中有两个目录,分别是 运行 Vue.js 前端和 .NET Core 后端。我想我必须创建某种变量又名 baseApiUrl 并将 OpenWeatherMap 中的 url 分配给它,但我不太明白我应该在哪里做。

在你的 Vue 项目中,应该有一个名为 config 的文件夹,并且有你的环境变量(生产和开发)一个有效的方法是在那里创建一个 baseApiUrl 变量,它可以通过你的应用程序通过这个命令访问

process.env.baseApiUrl

编辑:.NET Core 中的所有可配置变量都在 appsettings.json 中定义,每个环境或部署可以有多个设置文件。然后你可以通过 IOptions 接口访问它之后,你可以更深入地研究它,它很容易学习。

首先,您必须有一个来自 OpenWeatherAPI 的 api 密钥。之后,您实际上可以使用邮递员向 OpenWeatherAPI 发出简单请求,以测试 API 密钥是否正常工作。

设置完所有内容后,您实际上可以使用 .NET Core 的 HttpClient 库来进行 api 调用,如下所示:

using (var client = new HttpClient())
    {
            client.BaseAddress = new Uri("http://api.openweathermap.org");
            var response = await client.GetAsync($"<-----Tested URI HERE-------->");
            response.EnsureSuccessStatusCode();
            var stringResult = await response.Content.ReadAsStringAsync();
            /* Read JSON from stringResult */ 
    }