Como escrever uma API REST em C# em 30 minutos: para iniciantes

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: API REST em C# — é mais fácil do que parece



O desenvolvimento de aplicações web e microsserviços é impensável sem uma API REST. Se você está apenas começando sua jornada na programação, criar sua própria API pode parecer uma tarefa difícil. No entanto, com o framework ASP.NET Core em C#, você pode escrever um serviço RESTful funcional em apenas 30 minutos.



Neste guia, criaremos passo a passo uma API simples para gerenciar uma lista de tarefas (Todo List). Você aprenderá como configurar o projeto, criar um modelo de dados, um controlador e testar os endpoints. Sem mágica — apenas código limpo e explicações claras.



Ao final do artigo, você terá uma API totalmente funcional, suportando todas as principais operações CRUD (Create, Read, Update, Delete).



Passo 1: Preparação do ambiente e criação do projeto



Antes de escrever código, certifique-se de ter as ferramentas necessárias instaladas:



  • .NET SDK (versão 8.0 ou superior) — baixe do site oficial da Microsoft
  • Visual Studio (2022 Community Edition) ou Visual Studio Code com a extensão C#
  • Postman ou qualquer outro cliente REST para testes


Abra o terminal (ou prompt de comando) e execute o seguinte comando para criar um novo projeto Web API:



dotnet new webapi -n TodoApicd TodoApi


Após criar o projeto, abra a pasta TodoApi na sua IDE. A estrutura do projeto conterá várias pastas e arquivos, mas por enquanto estamos interessados em três principais: Program.cs, Controllers e Models.



Passo 2: Criação do modelo de dados



O modelo é uma classe que descreve a estrutura de dados da nossa API. Para a lista de tarefas, precisaremos de três campos: um identificador único, um nome e o status de conclusão.



Crie uma nova pasta Models na raiz do projeto e, dentro dela, o arquivo TodoItem.cs:



namespace TodoApi.Models;

public class TodoItem{ public int Id { get; set; } public string? Name { get; set; } public bool IsComplete { get; set; }}


Observe o ponto de interrogação após string. Ele indica que a propriedade Name pode ser null. Esta é uma boa prática para evitar avisos do compilador.



Passo 3: Criação do controlador e implementação do CRUD



O controlador é uma classe que processa requisições HTTP. No ASP.NET Core, os controladores herdam de ControllerBase e usam atributos para roteamento.



Crie o arquivo TodoItemsController.cs na pasta Controllers:



using Microsoft.AspNetCore.Mvc;using TodoApi.Models;

namespace TodoApi.Controllers;

[ApiController][Route("api/[controller]")]public class TodoItemsController : ControllerBase{ private static List<TodoItem> _todoItems = new();

// GET: api/TodoItems [HttpGet] public ActionResult<IEnumerable<TodoItem>> GetTodoItems() { return _todoItems; }

// GET: api/TodoItems/1 [HttpGet("{id}")] public ActionResult<TodoItem> GetTodoItem(int id) { var item = _todoItems.FirstOrDefault(t => t.Id == id); if (item == null) return NotFound(); return item; }

// POST: api/TodoItems [HttpPost] public ActionResult<TodoItem> PostTodoItem(TodoItem item) { item.Id = _todoItems.Count + 1; _todoItems.Add(item); return CreatedAtAction(nameof(GetTodoItem), new { id = item.Id }, item); }

// PUT: api/TodoItems/1 [HttpPut("{id}")] public IActionResult PutTodoItem(int id, TodoItem updatedItem) { var existingItem = _todoItems.First

Blogs

Book Recommendations