Segue resolução:
Criei a classe GotCharacter:
using System.Text.Json.Serialization;
namespace ScreenSound4.Challenge;
internal class GotCharacter
{
[JsonPropertyName("name")]
public string? Name { get; set; }
[JsonPropertyName("gender")]
public string? Gender { get; set; }
public void ShowCharacterDetails() => Console.WriteLine($"Name: {Name} | Gender: {Gender}");
}
e por aqui realizei a requisição, trazendo sempre um personagem diferente em um range de 1 a 2138.
using ScreenSound4.Challenge;
using System.Text.Json;
using(HttpClient client = new HttpClient())
{
try
{
Random random = new Random();
string answer = await client.GetStringAsync($"https://www.anapioficeandfire.com/api/characters/{random.Next(1,2138)}");
var character = JsonSerializer.Deserialize<GotCharacter>(answer)!;
character.ShowCharacterDetails();
}catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}