Crie sua API .NET: Tutorial de ASP.NET Core Prático

Imagine que você precise criar uma API para permitir que outras aplicações se comuniquem com a sua. Pode ser um cliente web, um aplicativo mobile ou qualquer outra aplicação. A boa notícia é que, com .NET e C#, você consegue “subir” algo funcional em tempo recorde! Vamos explorar passo a passo como preparar o ambiente, criar um projeto, adicionar um endpoint “Hello World👋 Hello World: Sua Primeira Linha de Código em C# (e o que Ela Esconde!)👋 Hello World: Sua Primeira Linha de Código em C# (e o que Ela Esconde!)Descubra como o Hello World revela conceitos essenciais do C# e .NET. Aprenda passo a passo desde a criação do projeto até a execução final do código.” e testar. Sem complicações, mas com a profundidade necessária para você entender o que está fazendo.

Tabela de Conteúdo🔗

Por que ASP.NET Core?🔗

ASP.NET Core é o framework da Microsoft para criar aplicativos web, incluindo APIs RESTful. É rápido, open source e multiplataforma, podendo rodar em Windows, Linux ou macOS sem problemas. Ele ajuda a estruturar sua aplicação de forma organizada, com recursos para roteamento, injeção de dependências🎮 Projeto: Sistema de Notificações com Observer e DI!🎮 Projeto: Sistema de Notificações com Observer e DI!Descubra como sincronizar notificações em um sistema de delivery com o padrão Observer e Dependency Injection em C#. Obtenha código limpo, modular e escalável., autenticação, entre outros.

Na prática, isso significa menos trabalho braçal e muito mais produtividade. Em vez de reinventar a roda para lidar com requisições HTTP e configurações de servidor, você foca em escrever regras de negócio e disponibilizar endpoints📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. úteis.

Criando o Projeto🔗

Você pode criar seu projeto de duas maneiras bem comuns: usando o Visual Studio🛠️ Instalação do Visual Studio: Prepare sua Nave para Decolar!🛠️ Instalação do Visual Studio: Prepare sua Nave para Decolar!Prepare seu ambiente de desenvolvimento com o Visual Studio em uma aventura C#. Este tutorial prático ensina a instalar, configurar e personalizar sua IDE. ou o Terminal (CLI). A ideia é a mesma, porém, no terminal, fica rápido para você ver como as coisas funcionam “por baixo dos panos”.

Usando o CLI

No terminal, após ter o .NET SDK instalado (versão 6 ou superior), rode:

dotnet new webapi -o MinhaPrimeiraApi

Esse comando🔍 Comandos: Desacople Ações dos Botões!🔍 Comandos: Desacople Ações dos Botões!Aprenda a implementar comandos em C# para desacoplar lógica e interface usando MVVM, com exemplos práticos e dicas para melhor testabilidade e manutenção. cria um template de um projeto de API, com um Controller🛠️ Controllers: Rotas que Respondem como Mágica!🛠️ Controllers: Rotas que Respondem como Mágica!Aprenda a criar e configurar controllers no ASP.NET Core com dicas práticas, exemplos de rotas e integração de serviços, elevando a qualidade da sua API. de exemplo e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. um arquivo Program.cs que sobe o servidor web localmente. O parâmetro -o MinhaPrimeiraApi diz que o projeto🤝 GitHub Básico: Versionamento para Iniciantes!🤝 GitHub Básico: Versionamento para Iniciantes!Descubra como o GitHub facilita colaboração, versionamento e organização de código com este tutorial prático e essencial para desenvolvedores iniciantes. será criado dentro de uma pasta chamada “MinhaPrimeiraApi”.

Usando o Visual Studio

1. Abra o Visual Studio🛠️ Instalação do Visual Studio: Prepare sua Nave para Decolar!🛠️ Instalação do Visual Studio: Prepare sua Nave para Decolar!Prepare seu ambiente de desenvolvimento com o Visual Studio em uma aventura C#. Este tutorial prático ensina a instalar, configurar e personalizar sua IDE. e selecione Criar novo projeto🤝 GitHub Básico: Versionamento para Iniciantes!🤝 GitHub Básico: Versionamento para Iniciantes!Descubra como o GitHub facilita colaboração, versionamento e organização de código com este tutorial prático e essencial para desenvolvedores iniciantes..

2. Escolha ASP.NET Core🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. Web API.

3. Dê um nome ao projeto🤝 GitHub Básico: Versionamento para Iniciantes!🤝 GitHub Básico: Versionamento para Iniciantes!Descubra como o GitHub facilita colaboração, versionamento e organização de código com este tutorial prático e essencial para desenvolvedores iniciantes. (por exemplo, “MinhaPrimeiraApi”) e escolha um local para salvar.

4. Clique em Criar📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos..

Feito isso, você terá uma estrutura bem semelhante ao que teria com o template no CLI.

Estrutura Básica do Projeto🔗

Depois de criar o projeto🤝 GitHub Básico: Versionamento para Iniciantes!🤝 GitHub Básico: Versionamento para Iniciantes!Descubra como o GitHub facilita colaboração, versionamento e organização de código com este tutorial prático e essencial para desenvolvedores iniciantes., você encontrará alguns arquivos principais:

Criando seu Primeiro Endpoint🔗

Vamos criar um endpoint que retorna “Hello World👋 Hello World: Sua Primeira Linha de Código em C# (e o que Ela Esconde!)👋 Hello World: Sua Primeira Linha de Código em C# (e o que Ela Esconde!)Descubra como o Hello World revela conceitos essenciais do C# e .NET. Aprenda passo a passo desde a criação do projeto até a execução final do código.”. Assim, você já tem o mínimo de uma API pronta para testes.

Dentro da pasta Controllers🛠️ Controllers: Rotas que Respondem como Mágica!🛠️ Controllers: Rotas que Respondem como Mágica!Aprenda a criar e configurar controllers no ASP.NET Core com dicas práticas, exemplos de rotas e integração de serviços, elevando a qualidade da sua API., crie um arquivo chamado HelloController.cs:

using Microsoft.AspNetCore.Mvc;
namespace MinhaPrimeiraApi.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class HelloController : ControllerBase
    {
        // GET /hello
        [HttpGet]
        public string GetMessage()
        {
            return "Hello World da minha primeira API!";
        }
    }
}

Entendendo o Código

Quando📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. você acessar */hello no navegador, no Postman🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real. ou via curl, o método🧠 Métodos em C#: Como Criar Funções que Não São Só Enfeites!🧠 Métodos em C#: Como Criar Funções que Não São Só Enfeites!Otimize seu código em C# com métodos inteligentes. Aprenda práticas de reutilização, sobrecarga e escopo para melhorar a clareza e a eficiência. GetMessage será invocado. Ele retorna uma string📝 Strings em C#: Manipule Textos como um Mestre dos Caracteres!📝 Strings em C#: Manipule Textos como um Mestre dos Caracteres!Aprenda a dominar os segredos das strings em C# com técnicas de manipulação, concatenação, interpolação e boas práticas, impulsionando sua performance. simples.

Testando Localmente🔗

1. Execute sua aplicação pelo Visual Studio🛠️ Instalação do Visual Studio: Prepare sua Nave para Decolar!🛠️ Instalação do Visual Studio: Prepare sua Nave para Decolar!Prepare seu ambiente de desenvolvimento com o Visual Studio em uma aventura C#. Este tutorial prático ensina a instalar, configurar e personalizar sua IDE. (F5 ou Ctrl+F5).

2. Se estiver no terminal, vá até a pasta do projeto🤝 GitHub Básico: Versionamento para Iniciantes!🤝 GitHub Básico: Versionamento para Iniciantes!Descubra como o GitHub facilita colaboração, versionamento e organização de código com este tutorial prático e essencial para desenvolvedores iniciantes. e rode:

dotnet run

3. Espere o console mostrar algo como “Now listening on: https://localhost:xxxx/”.

4. Abra o navegador e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. acesse https://localhost:<porta>/hello. Você deve ver o texto📝 Strings em C#: Manipule Textos como um Mestre dos Caracteres!📝 Strings em C#: Manipule Textos como um Mestre dos Caracteres!Aprenda a dominar os segredos das strings em C# com técnicas de manipulação, concatenação, interpolação e boas práticas, impulsionando sua performance.:

Hello World da minha primeira API!

Isso significa que sua API está rodando localmente e já pode responder requisições GET⚡ Propriedades: Get e Set com Elegância (e sem Campos Privados Bagunçados)!⚡ Propriedades: Get e Set com Elegância (e sem Campos Privados Bagunçados)!Aprenda como utilizar propriedades em C# para encapsular dados, validar informações e manter um código organizado, seguro e de fácil manutenção..

Hello World Adaptado🔗

1. Delete📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. WeatherForecastController.cs

2. Crie Controllers🛠️ Controllers: Rotas que Respondem como Mágica!🛠️ Controllers: Rotas que Respondem como Mágica!Aprenda a criar e configurar controllers no ASP.NET Core com dicas práticas, exemplos de rotas e integração de serviços, elevando a qualidade da sua API./HelloWorldController.cs:

using Microsoft.AspNetCore.Mvc;
namespace HelloWorldAPI.Controllers;
[ApiController]
[Route("[controller]")]
public class HelloWorldController : ControllerBase
{
    [HttpGet]
    public IActionResult GetHelloWorld()
    {
        return Ok(new {
            Message = "Hello World!",
            Timestamp = DateTime.UtcNow
        });
    }
}

Key🗂️ Dicionários: Acesse Dados por Chaves como um Mestre dos HashMaps!🗂️ Dicionários: Acesse Dados por Chaves como um Mestre dos HashMaps!Aprenda a usar dicionários em C# de modo prático e eficiente. Nosso tutorial mostra criação, acesso e otimização para manipular dados com segurança. Points:

Executando e Testando🔗

dotnet run

Acesse no navegador:

https://localhost:7200/HelloWorld

Via Swagger UI📄 Swagger/OpenAPI: Documente sua API Automaticamente!📄 Swagger/OpenAPI: Documente sua API Automaticamente!Descubra como gerar documentação interativa e automatizada em APIs com o Swagger/OpenAPI. Aprenda a configurar no .NET e testar endpoints facilmente. (incluído automaticamente):

https://localhost:7200/swagger

Teste com curl:

curl -X GET "https://localhost:7200/HelloWorld" -H "accept: application/json"

Anatomia de um Endpoint🔗

Diagrama Request/Response

1. Verbo HTTP: GET⚡ Propriedades: Get e Set com Elegância (e sem Campos Privados Bagunçados)!⚡ Propriedades: Get e Set com Elegância (e sem Campos Privados Bagunçados)!Aprenda como utilizar propriedades em C# para encapsular dados, validar informações e manter um código organizado, seguro e de fácil manutenção. (ler dados)

2. Rota🛠️ Controllers: Rotas que Respondem como Mágica!🛠️ Controllers: Rotas que Respondem como Mágica!Aprenda a criar e configurar controllers no ASP.NET Core com dicas práticas, exemplos de rotas e integração de serviços, elevando a qualidade da sua API.: /HelloWorld

3. Action Method: GetHelloWorld()

4. Retorno:

Fluxo Completo:

Cliente → Request HTTP → Middleware → Controller → Action Method → Response

Personalizando sua API🔗

Alterar rota🛠️ Controllers: Rotas que Respondem como Mágica!🛠️ Controllers: Rotas que Respondem como Mágica!Aprenda a criar e configurar controllers no ASP.NET Core com dicas práticas, exemplos de rotas e integração de serviços, elevando a qualidade da sua API.:

[Route("api/[controller]")]
// Acesse em /api/HelloWorld

Adicionar📦 List<T>: Dinamismo além dos Arrays!📦 List<T>: Dinamismo além dos Arrays!Descubra como utilizar List<T> em C# de forma eficiente. Aprenda a criar, manipular e otimizar listas para diferentes cenários com exemplos práticos. parâmetro:

[HttpGet("{nome}")]
public IActionResult GetCumprimento(string nome)
{
    return Ok($"Olá, {nome}! 👋");
}

Teste: /HelloWorld/Maria

Dicas para Exercício Prático🔗

Desafio Imediato:

1. Adicione um endpoint📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!📡 RESTful 101: Princípios que Todo Dev API Precisa Saber!Descubra os fundamentos do REST e boas práticas para criar APIs simples, escaláveis e eficientes. Domine métodos HTTP e status codes com exemplos práticos. POST que aceite JSON

2. Crie uma rota🛠️ Controllers: Rotas que Respondem como Mágica!🛠️ Controllers: Rotas que Respondem como Mágica!Aprenda a criar e configurar controllers no ASP.NET Core com dicas práticas, exemplos de rotas e integração de serviços, elevando a qualidade da sua API. /calculator/add📦 List<T>: Dinamismo além dos Arrays!📦 List<T>: Dinamismo além dos Arrays!Descubra como utilizar List<T> em C# de forma eficiente. Aprenda a criar, manipular e otimizar listas para diferentes cenários com exemplos práticos.?num1=5&num2=3

3. Modifique a mensagem para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! incluir o horário local

// Exemplo de POST
[HttpPost]
public IActionResult PostMessage([FromBody] MessageModel input)
{
    return CreatedAtAction(nameof(GetHelloWorld), input);
}
public class MessageModel
{
    public string Content { get; set; }
}

Se você entendeu até aqui, já tem uma API funcional. Claro, há profundidade muito maior a explorar, mas esse é o caminho para quem quer começar a criar serviços que expõem dados e regras de negócio para o mundo. Com ASP.NET Core🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!🌍 Projeto: API de E-Commerce com ASP.NET Core e SQL Server!Aprenda a construir uma API robusta para e-commerce com ASP.NET Core, EF Core, JWT e Swagger, validando suas habilidades em um projeto prático real., subir uma API simples não precisa levar mais que alguns minutos!

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados