1
resposta

[Projeto] Desafio

Program

using (HttpClient client = new HttpClient())
{
    try
    {
        string resposta = await client.GetStringAsync("https://www.anapioficeandfire.com/api/characters/16");
        Console.WriteLine(resposta);
        var personagem = JsonSerializer.Deserialize<Personagem>(resposta);
        personagem!.Detalhes();
    }
    catch (Exception ex)
    {

        Console.WriteLine($"Problema encontrado: {ex.Message}"); ;
    }
}

Classe Personagem

public class Personagem
    {
        [JsonPropertyName("name")]
        public string? Nome { get; set; }
        [JsonPropertyName("titles")]
        public List<string>? Titulo { get; set; }

        public void Detalhes()
        {
            Console.WriteLine($"Nome: {Nome}");
            Console.WriteLine($"Titulo:" + string.Join(",", Titulo!));
        }
    }
1 resposta

Oi, Alycia! Como vai?

Gostei de ver que você usou HttpClient para consumir a API e depois fez a desserialização para a classe Personagem. A forma como você tratou a exceção mostra atenção ao funcionamento do programa.

Uma dica interessante para o futuro é usar LINQ para manipular listas. Veja este exemplo:


List<int> numeros = new List<int> {1, 2, 3, 4, 5};
var pares = numeros.Where(n => n % 2 == 0).ToList();

foreach (var n in pares)
{
    Console.WriteLine(n);
}

Esse código filtra apenas os números pares da lista usando Where e imprime no console.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!