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
Gerenciando Secrets e Configs em Docker SwarmAprenda a proteger credenciais, chaves e tokens com Docker Swarm. Gerencie Secrets e Configs de forma segura, garantindo integridade dos dados críticos. de servidor, você foca em escrever regras de negócio e disponibilizar endpoints ú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
Configurando variáveis de ambiente e strings de conexão para MongoDB em produçãoAprenda a configurar variáveis de ambiente e construir strings de conexão seguras para MongoDB em produção com práticas recomendadas para C#. de banco de dados e outras chaves de configuração. - 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 respostasOk(): 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 POSTpara
📡 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/

há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 9 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 10 months atrás
há 11 months atrás
há 11 months atrás
há 11 months atrás