Essa seria a forma simples, apenas requisitando os dados da API e obtendo uma resposta baseada em todo o retorno presente no .json por meio de uma string.
Console.Clear();
var apiKey = Private.key;
Console.Write("Digite o email que você deseja buscar: ");
string emailBuscado = Console.ReadLine()!;
using (HttpClient client = new()) {
try {
var request = await client.GetStringAsync($"https://apilayer.net/api/check?access_key={apiKey}&email={emailBuscado}");
Console.WriteLine(request);
}
catch (Exception ex) {
Console.WriteLine("Ocorreu um erro ao realizar uma requisição para a API.");
Console.WriteLine($"Erro: {ex.Message}");
}
}
Agora, caso queiramos usar esse programa para validar o formato de um email digitado, também podemos. Todavia, para isso, devemos usar o método GetFromJsonAsync<Usuario>, utilizando uma classe interna Usuario para armazenamento de dados específicos:
Usuario.cs
class Usuario {
public string? email {get;set;}
public bool format_valid {get;set;}
public double score {get;set;}
}
Program.cs
using System.Net.Http.Json;
Console.Clear();
var apiKey = Private.key;
Console.Write("Digite o email que você deseja buscar: ");
string emailBuscado = Console.ReadLine()!;
using (HttpClient client = new()) {
try {
Console.Clear();
var request = await client.GetFromJsonAsync<Usuario>($"https://apilayer.net/api/check?access_key={apiKey}&email={emailBuscado}");
if (request!.format_valid == true) Console.WriteLine($"{request!.email} é válido e tem a pontuação: {request.score}.");
else Console.WriteLine($"{request!.email} é inválido.");
}
catch (Exception ex) {
Console.WriteLine("Ocorreu um erro ao realizar uma requisição para a API.");
Console.WriteLine($"Erro: {ex.Message}");
}
}