DEV Community

Cover image for šŸ“ Comunicação da API .NET com API Kong
Danilo O. Pinheiro, dopme.io
Danilo O. Pinheiro, dopme.io

Posted on

šŸ“ Comunicação da API .NET com API Kong

Integrar uma API .NET com API Kong é uma solução moderna e robusta para gerenciar APIs em arquiteturas de microsserviços. O Kong é um API Gateway altamente escalÔvel que pode fornecer funcionalidades como autenticação, rate limiting, logging, e roteamento de trÔfego. Neste artigo, vamos explorar como integrar uma API .NET com o Kong API Gateway de forma simples e eficaz.


🧰 Tecnologias Utilizadas

Tecnologia Descrição
Kong API API Gateway para gerenciar e proteger suas APIs.
.NET 6+ Framework moderno para desenvolvimento de APIs.
Docker Utilizado para configurar Kong e a aplicação .NET.

šŸ“ Preparando o Ambiente

Primeiro, vamos configurar o Kong API Gateway utilizando Docker. Crie um arquivo docker-compose.yml:

version: '3' services: kong-database: image: kong:latest restart: always environment: KONG_DATABASE: "off" KONG_DECLARATIVE_CONFIG: "/kong-config/kong.yml" volumes: - ./kong-config:/kong-config ports: - "5432:5432" kong: image: kong:latest restart: always environment: KONG_PORT: "8000" KONG_PROXY_ACCESS_LOG: "/dev/stdout" KONG_ADMIN_ACCESS_LOG: "/dev/stdout" KONG_ADMIN_ERROR_LOG: "/dev/stderr" KONG_ADMIN_GUI_HOST: "localhost:8002" ports: - "8000:8000" - "8002:8002" depends_on: - kong-database 
Enter fullscreen mode Exit fullscreen mode

Inicie o Kong API Gateway com Docker:

docker-compose up -d 
Enter fullscreen mode Exit fullscreen mode

āš™ļø Criando a API .NET

Agora, crie um projeto Web API simples com .NET:

dotnet new webapi -n ApiKongDemo cd ApiKongDemo 
Enter fullscreen mode Exit fullscreen mode

Exemplo de controller bƔsico para a API .NET:

[ApiController] [Route("api/[controller]")] public class HelloController : ControllerBase { [HttpGet] public IActionResult Get() { return Ok(new { message = "Hello from .NET API!" }); } } 
Enter fullscreen mode Exit fullscreen mode

Para rodar a aplicação .NET, utilize o comando:

dotnet run 
Enter fullscreen mode Exit fullscreen mode

Agora, a API .NET estarĆ” disponĆ­vel em http://localhost:5000/api/hello.


🌐 Integrando a API .NET com o Kong

Com a API .NET e o Kong configurados, o próximo passo é registrar a API no Kong e configurÔ-la para ser roteada. Para isso, usaremos o Admin API do Kong.

  1. Registrar a API no Kong:

Use o comando curl para registrar a API:

curl -i -X POST http://localhost:8001/services/ \ --data "name=dotnet-api" \ --data "url=http://host.docker.internal:5000/api/hello" 
Enter fullscreen mode Exit fullscreen mode
  1. Criar um Route:

Depois de registrar o serviƧo, vamos criar uma rota que encaminha as requisiƧƵes para a API:

curl -i -X POST http://localhost:8001/services/dotnet-api/routes \ --data "hosts[]=localhost" \ --data "paths[]=/api/hello" 
Enter fullscreen mode Exit fullscreen mode

Agora, a comunicação serÔ feita pela URL http://localhost:8000/api/hello.


šŸ“” Testando a Comunicação

  1. Acesse a URL da API atravƩs do Kong: http://localhost:8000/api/hello

A resposta deve ser a seguinte:

{ "message": "Hello from .NET API!" } 
Enter fullscreen mode Exit fullscreen mode

āœ… ConclusĆ£o

Integrar a API .NET com o Kong traz vÔrios benefícios, como gestão centralizada de APIs, controle de trÔfego e autenticação. Usando o Kong API Gateway, é possível adicionar facilmente funcionalidades como rate limiting, autenticação e monitoramento sem alterar o código da API.

AlƩm disso, o Kong permite um controle de trƔfego escalƔvel, ideal para arquiteturas de microsserviƧos em ambientes de alta demanda.


šŸ¤ Conecte-se Comigo

Se vocĆŖ trabalha com .NET moderno e quer dominar arquitetura, C#, observabilidade, DevOps ou interoperabilidade, vamos conversar:

šŸ’¼ LinkedIn
šŸ’» Dev.to
āœļø Medium
šŸ“¬ contato@dopme.io


¹⁓ Eu sou o bom Pastor, e conheço as minhas ovelhas, e das minhas sou conhecido.
João 10:14

Top comments (0)