Пример #1
0
        /// <summary>
        ///     Obtiene los datos de la API con base en una URL concreta
        /// </summary>
        /// <typeparam name="T">API concreta a consumir</typeparam>
        /// <param name="apiUrl">URL concreta de la API</param>
        /// <returns>Toda la información relacionada con la API especificada en la URL</returns>
        public async Task <T> GetAsync <T>(string apiUrl) where T : class
        {
            T covidContentInfo = null;

            using (var httpClient = new HttpClient()
            {
                Timeout = TimeSpan.FromSeconds(_loginTimeOut)
            })
            {
                httpClient.DefaultRequestHeaders.Accept.Clear();
                httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                HttpResponseMessage response = await httpClient.GetAsync(_baseApiUrl + apiUrl);

                if (response.IsSuccessStatusCode)
                {
                    string httpContent = await response.Content.ReadAsStringAsync();

                    covidContentInfo = JsonConvert.DeserializeObject <T>(httpContent, JsonConfig.GetJsonSerializerSettings());
                }

                return(covidContentInfo);
            }
        }