Como escrever uma REST API em C# em 30 minutos: guia passo a passo

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Introdução: REST API em C# — é rápido e simples

O desenvolvimento de aplicações web modernas e serviços móveis é impossível sem uma REST API. Se você deseja criar rapidamente um backend para seu projeto, C# com o framework ASP.NET Core é a escolha ideal. Graças às ferramentas integradas, configuração mínima e excelente desempenho, você pode escrever uma REST API completa em apenas 30 minutos.

Neste artigo, vamos analisar o processo de criação de uma API simples para gerenciar uma lista de tarefas (Todo List). Você aprenderá como configurar o projeto, criar modelos de dados, implementar controladores com operações CRUD e testar a API usando Swagger. Todos os exemplos de código são escritos em C# (.NET 8).

Mesmo que você seja iniciante em C#, seguindo as instruções, você terá uma API funcional ao final do artigo.



1. Criando o projeto e configurando o ambiente

Primeiramente, certifique-se de ter o .NET SDK instalado (versão 8 ou superior). Você pode baixá-lo no site oficial. Após a instalação, abra o terminal ou prompt de comando.

Crie um novo projeto ASP.NET Core Web API com o comando:

dotnet new webapi -n TodoApicd TodoApi

Este comando criará uma pasta TodoApi com a estrutura básica do projeto. Ela já contém o arquivo Program.cs — ponto de entrada, e a pasta Controllers para futuros controladores.

Abra o projeto no Visual Studio, Visual Studio Code ou Rider. Para simplificar, você pode usar qualquer editor de texto.

Certifique-se de que no arquivo Program.cs existam as chamadas AddSwaggerGen() e UseSwagger(). O Swagger já está incluído automaticamente no template — isso facilitará os testes. Se não estiver, adicione:

builder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen();// ...app.UseSwagger();app.UseSwaggerUI();


2. Criando o modelo de dados e o armazenamento temporário

Para nossa API, armazenaremos as tarefas na memória RAM (in-memory). Em um projeto real, você conectaria um banco de dados, mas para demonstração de uma solução de 30 minutos, isso é suficiente.

Crie uma pasta Models e dentro dela o arquivo TodoItem.cs:

public class TodoItem{    public int Id { get; set; }    public string Title { get; set; } = string.Empty;    public bool IsCompleted { get; set; }}

Agora vamos criar um serviço-repositório simples. Na pasta Services, crie a interface ITodoService.cs e sua implementação TodoService.cs. Isso permitirá mudar facilmente para um banco de dados real no futuro.

ITodoService.cs:

public interface ITodoService{    List<TodoItem> GetAll();    TodoItem? GetById(int id);    TodoItem Create(TodoItem item);    TodoItem? Update(int id, TodoItem item);    bool Delete(int id);}

TodoService.cs:

public class TodoService : ITodoService{    private readonly List<TodoItem> _items = new();    private int _nextId = 1;

public List<TodoItem> GetAll() => _items;

public TodoItem? GetById(int id) => _items.FirstOrDefault(i => i.Id == id);

public TodoItem Create(TodoItem item) { item.Id = _nextId++; _items.Add(item); return item; }

public TodoItem? Update(int id, TodoItem item) { var existing = GetById(id); if (existing == null) return null; existing.Title = item.Title; existing.IsCompleted = item.IsCompleted; return existing; }

public bool Delete(int id) { var item = GetById(id); if (item == null) return false; return _items.Remove(item); }}

Registre o serviço no contêiner DI no Program.cs:

<                

Blogs

Book Recommendations