public List <Personagem> ObterDadosPersonagens(string nome) { if (string.IsNullOrEmpty(nome)) { nome = "%"; } _client.DefaultRequestHeaders.Accept.Clear(); _client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); string ts = DateTime.Now.Ticks.ToString(); string publicKey = _configuration.GetSection("MarvelComicsAPI:PublicKey").Value; string hash = GerarHash(ts, publicKey, _configuration.GetSection("MarvelComicsAPI:PrivateKey").Value); string url = _configuration.GetSection("MarvelComicsAPI:BaseURL").Value + $"characters?ts={ts}&apikey={publicKey}&hash={hash}&" + $"nameStartsWith={nome}"; HttpResponseMessage response = _client.GetAsync(url).Result; response.EnsureSuccessStatusCode(); string conteudo = response.Content.ReadAsStringAsync().Result; dynamic resultado = JsonConvert.DeserializeObject(conteudo); List <Personagem> listPersonagem = new List <Personagem>(); foreach (var item in resultado.data.results) { Personagem personagem = new Personagem(); personagem.Nome = item.name; personagem.Descricao = item.description; personagem.UrlImagem = item.thumbnail.path + "." + item.thumbnail.extension; personagem.UrlWiki = item.urls[1].url; personagem.ID = item.id; personagem.Historias = new List <string>(); foreach (var historia in item.stories.items) { personagem.Historias.Add(historia.name.ToString()); } listPersonagem.Add(personagem); } return(listPersonagem); }
public Personagem ObterDadosPersonagem() { string heroi = HEROIS[new Random().Next(0, 9)]; _client.DefaultRequestHeaders.Accept.Clear(); _client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); string ts = DateTime.Now.Ticks.ToString(); string publicKey = _configuration.GetSection("MarvelComicsAPI:PublicKey").Value; string hash = GerarHash(ts, publicKey, _configuration.GetSection("MarvelComicsAPI:PrivateKey").Value); string url = _configuration.GetSection("MarvelComicsAPI:BaseURL").Value + $"characters?ts={ts}&apikey={publicKey}&hash={hash}&" + $"name={Uri.EscapeUriString(heroi)}"; HttpResponseMessage response = _client.GetAsync( url).Result; response.EnsureSuccessStatusCode(); string conteudo = response.Content.ReadAsStringAsync().Result; dynamic resultado = JsonConvert.DeserializeObject(conteudo); Personagem personagem = new Personagem(); personagem.Nome = resultado.data.results[0].name; personagem.Descricao = resultado.data.results[0].description; personagem.UrlImagem = resultado.data.results[0].thumbnail.path + "." + resultado.data.results[0].thumbnail.extension; personagem.UrlWiki = resultado.data.results[0].urls[1].url; return(personagem); }