【问题标题】:.NET Core 2.2 endpoint from aside data provider来自数据提供者的 .NET Core 2.2 端点
【发布时间】:2019-03-09 04:52:35
【问题描述】:

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

【问题讨论】:

    标签: c# .net-core .net-core-2.2


    【解决方案1】:

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

    process.env.baseApiUrl
    

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

    【讨论】:

    • 感谢您的评论,但我在问我必须在后端的哪个位置使用提供程序 url 创建一个变量。
    【解决方案2】:

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

    一切就绪后,您就可以实际使用 .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 */ 
        }
    

    【讨论】:

      猜你喜欢
      • 2020-03-05
      • 2019-12-11
      • 2021-06-04
      • 1970-01-01
      • 2023-03-13
      • 2020-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多