1
resposta

Minha versão

Classe Principal

using desafioRefatorandoFuncaoGOT.Modelos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;

namespace desafioRefatorandoFuncaoGOT
{
    class Program
    {
        static async Task Main(string[] args)
        {
            using(HttpClient client = new HttpClient())
            {
                string respostaRequisicao = await client.GetStringAsync("https://anapioficeandfire.com/api/characters/16");

                var personagensGOT = JsonSerializer.Deserialize<Personagem>(respostaRequisicao);

            }
        }
    }

Classe Personagem(que fará o "mapeamento" dos dados presentes na API em objetos manipuláveis pela linguagem durante a execução)

    class Personagem
    {
        [JsonPropertyName("name")]
        public string Nome { get; set; }

        [JsonPropertyName("gender")]
        public string Genero { get; set; }

        [JsonPropertyName("playedBy")]
        public List<string> Ator { get; set; }

    }
1 resposta

Olá, Leonardo! Parece que você está no caminho certo para deserializar a resposta da API do Game of Thrones. No entanto, notei que você não está exibindo os dados no console, como sugerido na atividade.

Após deserializar a resposta da API para o objeto personagensGOT, você pode exibir as informações no console. Para isso, você pode usar a função Console.WriteLine(). Abaixo está um exemplo de como você pode fazer isso:

static async Task Main(string[] args)
{
    using(HttpClient client = new HttpClient())
    {
        string respostaRequisicao = await client.GetStringAsync("https://anapioficeandfire.com/api/characters/16");

        var personagensGOT = JsonSerializer.Deserialize<Personagem>(respostaRequisicao);

        Console.WriteLine($"Nome: {personagensGOT.Nome}");
        Console.WriteLine($"Gênero: {personagensGOT.Genero}");
        Console.WriteLine($"Ator: {string.Join(", ", personagensGOT.Ator)}");
    }
}

Nesse exemplo, estou exibindo o nome, gênero e ator(es) do personagem. A função string.Join(", ", personagensGOT.Ator) é usada para exibir todos os atores em uma única string, separados por vírgulas.

Espero ter ajudado e bons estudos!