1
resposta

Desafio API - GOT

using System.Text.Json.Serialization;

namespace Teste4_Alura.ConsumindoAPI;

internal class GameOfThronesAPI
{
    [JsonPropertyName("name")]
    public string? Name { get; set; }

    [JsonPropertyName("gender")]

    public string? Genero { get; set; }

    [JsonPropertyName("titles")]

    public string[]? Titulo { get; set; }

    public string ExibirConteudoGameofThrones =>
        $"""
        Nome: {Name}
        Genero: {Genero}
        Titulo: {string.Join(", ", Titulo ?? [])}

        """;
}
string respostaGameOFThornes = await client.GetStringAsync("https://www.anapioficeandfire.com/api/characters/16");
GameOfThronesAPI personagem = JsonSerializer.Deserialize<GameOfThronesAPI>(respostaGameOFThornes)!;

Console.WriteLine(personagem.ExibirConteudoGameofThrones);
1 resposta

Olá, Ulysses! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de atributos de serialização para mapear corretamente os dados da API, utilizou muito bem a classe para organizar as informações recebidas e ainda compreendeu a importância do método de exibição para apresentar os resultados de forma clara.

Uma dica interessante para o futuro é aplicar um tratamento de valores nulos para evitar possíveis erros em execuções. Assim:

public string ExibirConteudoGameofThrones =>
    $"""
    Nome: {Name ?? "Desconhecido"}
    Genero: {Genero ?? "Não informado"}
    Titulo: {string.Join(", ", Titulo ?? new string[] { "Sem título" })}
    """;

Isso faz com que o programa continue funcionando mesmo quando a API não retorna todos os campos esperados.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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