Конечная точка.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 */
}