Конечная точка.NET Core 2.2 от стороннего поставщика данных

Я тренируюсь на.NET Core и имею задачу создать конечную точку для моего интерфейса (я использую Vue.js) с использованием поставщика данных, такого как OpenWeatherMap. Я знаю, как напрямую обращаться к этому провайдеру и отправлять запросы через Axios. Но как я могу сделать это с.NET Core 2.2? В настоящее время у меня есть две директории в папке проекта, где я запускаю фронтенд Vue.js и бэкэнд.NET Core соответственно. Я думаю, что я должен создать какую-то переменную ака baseApiUrl и назначить ему URL из OpenWeatherMap, но я не совсем понимаю, где я должен это сделать.

0 ответов

В вашем проекте Vue должна быть папка с именем config, и в ней есть переменные окружения (производство и разработка). Правильный подход - создание там переменной baseApiUrl, доступ к которой можно получить через ваше приложение с помощью этой команды.

process.env.baseApiUrl

Изменить: все настраиваемые переменные в.NET Core определены в appsettings.json, вы можете иметь несколько файлов настроек для каждой среды или развертывания. Затем, после того, как вы сможете получить к нему доступ через интерфейс IOptions, вы сможете в него углубиться, и его легко освоить.

Прежде всего, вам нужно иметь ключ API от OpenWeatherAPI. После этого вы можете делать простые запросы к OpenWeatherAPI, используя почтальон, чтобы проверить, работает ли API Key.

После того, как все настроено, вы можете использовать библиотеку HttpClient.NET Core для выполнения вызовов 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 */ 
    }
Другие вопросы по тегам