Primeiro Passo em C#: Desvende o Hello World no .NET
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!)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
🌍 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.?
- Criando o Projeto
🤝 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.
- Estrutura Básica do Projeto
🤝 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.
- Criando seu Primeiro Endpoint
📡 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.
- Testando Localmente
- Dicas
🔢 Operadores Aritméticos: Faça Cálculos como uma Calculadora Humana!Aprenda a dominar operadores aritméticos em C# com exemplos práticos, técnicas de cálculo e dicas para evitar erros e maximizar resultados. para Exercício Prático
- Criando o Projeto
🤝 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.
- Hello World
👋 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. Adaptado
- Executando e
📊 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. Testando
- Anatomia de um Endpoint
📡 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.
- Próximos Passos
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!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!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!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!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!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!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!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!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!Descubra como o GitHub facilita colaboração, versionamento e organização de código com este tutorial prático e essencial para desenvolvedores iniciantes..
3. Dê um nome ao projeto🤝 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.
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!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:
- Program.cs: É onde o servidor web (Kestrel) é configurado e inicializado. Aqui também podem ser definidos serviços (injeção de dependências
🎮 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.) e configurações de rotas.
- Controllers
🛠️ 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.: Pasta onde
🎲 Desafio: Analise Dados de Vendas com LINQ e Coleções!Aprenda a usar coleções e LINQ em C# para analisar vendas, filtrar dados e extrair insights estratégicos que otimizem decisões e impulsionem seu negócio. ficam os arquivos que gerenciam cada rota da sua API. Normalmente, cada Controller
🛠️ 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. equivale a um conjunto de endpoints
📡 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. relacionados a um tema específico (exemplo: Produtos, Usuários etc.).
- appsettings.json
📝 Logging com Serilog: Registre Tudo como um Detetive de Bugs!Aprenda a usar Serilog em .NET para registrar logs estruturados, identificar erros e enriquecer informações, transformando seu código num enigma solucionável.: Onde você normalmente coloca suas configurações, como strings de conexão de banco de dados e outras chaves de configuração
🚀 Scale Out com Redis: Atenda Milhões de Conexões!Integre o Redis com SignalR no .NET e distribua mensagens entre servidores, alcançando escalabilidade e alta performance em tempo real..
- Properties/launchSettings.json: Arquivo que define portas e URLs para rodar localmente, além de configurações de ambiente de desenvolvimento
🧠 IA Nativa: Integre OpenAI direto no .NET!Aprenda a integrar o SDK oficial da OpenAI no .NET, configurando ambiente, chamadas de API, chatbots e melhores práticas para aplicações inteligentes..
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!)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!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
[ApiController]
: Informa que essa classe🏗️ Classes vs. Structs: Quando Usar Cada Uma (e Não Quebrar a Cabeça)!Descubra como escolher entre classes e structs em C#. Aprenda sobre alocação de memória, passagem por valor e referência, e performance nesta explicação clara. é um Controller
🛠️ 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 API
🌍 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..
[Route("[controller
: Diz que essa rota🛠️ 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.]")]
🛠️ 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. será acessada pelo nome do Controller
🛠️ 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., sem a palavra “Controller” no final. Como nosso controller
🛠️ 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. se chama “HelloController”, a rota vira */hello.
[HttpGet]
: Mapeia esse método🧠 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. para requisições HTTP GET em “/hello”.
Quando📊 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!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!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!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!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!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!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!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)!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!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!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
});
}
}
[ApiController]
: Habilita comportamentos API🌍 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. padrão
[Route
: Define o caminho base (🛠️ 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
)[HttpGet]
: Mapeia para🔄 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! verbo HTTP GET
Executando e Testando🔗
dotnet run
Acesse no navegador:
https://localhost:7200/HelloWorld
Via Swagger UI📄 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🔗

1. Verbo HTTP: GET
(ler dados)⚡ 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.
3. Action Method: GetHelloWorld()
4. Retorno:
IActionResult
: Tipo🧠 Variáveis em C#: Onde os Dados Ganham Vida (e Nome!)Descubra como as variáveis em C# funcionam, com exemplos do mundo real, boas práticas de nomeação e dicas para otimizar seu código. base para respostas
Ok()
: Retorna status 200 com dados
Fluxo Completo:
Cliente → Request HTTP → Middleware → Controller → Action Method → Response
Personalizando sua API🔗
[Route("api/[controller]")]
// Acesse em /api/HelloWorld
[HttpGet("{nome}")]
public IActionResult GetCumprimento(string nome)
{
return Ok($"Olá, {nome}! 👋");
}
Teste: /HelloWorld/Maria
Dicas para Exercício Prático🔗
- Mude o Retorno: Troque o texto retornado pelo controller ou retorne um objeto JSON para ver como o ASP.NET Core
🌍 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. lida com serialização automática.
- Crie outro Endpoint
📡 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.: Crie um
POST
para📡 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.
🔄 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! aprender a “receber” dados do cliente.
- Teste com o Postman
🌍 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.: Se você quiser algo mais completo que o navegador para testes, use o Postman
🌍 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 Thunder Client, configurando método, rota e corpo das requisições.
- Use Debugging
💡 Debugging Básico: Como Encontrar Erros sem Chorar no Cantinho!Descubra como identificar e corrigir erros em código com técnicas de debugging testadas. Dicas práticas para um desenvolvimento mais eficaz.: Marque breakpoints
🔍 Debugging no VS: Breakpoints, DataTips e Janelas Escondidas!Descubra como utilizar breakpoints, DataTips e janelas escondidas para potencializar o debugging no Visual Studio e resolver bugs em C# com facilidade. no método
GetMessage()
, execute em modo Depurar e veja como o Visual Studio🛠️ 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. te mostra detalhes das variáveis.
Desafio Imediato:
1. Adicione um endpoint📡 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!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!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!)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!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🔗
- .NET Documentation: learn.microsoft.com/pt-br/dotnet/
- ASP.NET Core Samples: github.com/dotnet/AspNetCore.Docs
- C# Language Specification: learn.microsoft.com/pt-br/dotnet/csharp/language-reference/language-specification/
- GitHub: Microsoft/.NET: github.com/dotnet
- Microsoft Learn: C# e .NET: learn.microsoft.com/pt-br/dotnet/csharp/