farukaf / BrasilAPI-DotNet

Um SDK/Client .Net para BrasilAPI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Brasil API

Vamos transformar o Brasil em uma API?

Atenção

Este é um SDK/Client .Net para BrasilAPI!

Como utilizar

Utilização com injeção de dependencia

Realizar a injeção na sua camada de service. ConfigureServices na classe Startup.cs ou Program.cs como abaixo.

Exemplo da implementação no Program.cs

using SDKBrasilAPI;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddBrasilApi();

Utilização em um endpoint minimal API

app.MapGet("/ParticipantesPIX", async (IBrasilAPI brasilAPI) =>
{ 
    return await brasilAPI.ParticipantesPIX();
});

Utilização em uma controller MVC

[ApiVersion("2")]
[Route("v{version:apiVersion}/[controller]")]
public class ServiceController : ControllerBase
{ 
	private readonly IBrasilAPI _brasilAPI;

	public ServiceController(IBrasilAPI brasilAPI)
	{
		_brasilAPI = brasilAPI; 
	}
}

Utilização sem injeção de dependencia (não recomendado)

using SDKBrasilAPI;

Exemplo para receber a lista de cidades com DDD 17:

using (var brasilAPI = new BrasilAPI())
{
  var response = await brasilAPI.DDD(17);
  foreach (var city in response.Cities)
  {
    Console.WriteLine(city);
  }
}

Exemplo de como tratar erros:

//cnpj inválido
var cnpj = "00.000.000/0001-00";

try
{
  using (var brasilAPI = new BrasilAPI())
  {
    var response = await brasilAPI.CNPJ(cnpj);
  }
}
catch (BrasilAPIException ex)
{
  //Codigo HTTP de erro
  Console.WriteLine(ex.Code);
  //Mensagem de erro: CNPJ 00.000.000/0001-00 inválido.
  Console.WriteLine(ex.Message);
  //Conteudo recebido: {message:"CNPJ 00.000.000/0001-00 inválido."}
  Console.WriteLine(ex.ContentData);
  //URL gerada para a requisição
  Console.WriteLine(ex.URL);
} 

Sobre a Biblioteca

  • Utilizado .Net Standard 2.0

Requisitos

  • Microsoft.Extensions.DependencyInjection.Abstractions
  • System.Text.Json

Pode ser utilizado a partir do seu sistema .Net Framework 4.6.1+, .Net Core 2.0+ ou Xamarin. Consulte a documentação oficial da Microsoft para mais informações.

About

Um SDK/Client .Net para BrasilAPI

License:MIT License


Languages

Language:C# 100.0%