Cómo escribir una API REST en C# en 30 minutos: guía paso a paso

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción: REST API en C# — es sencillo



REST API (Representational State Transfer) es un estilo arquitectónico que permite a clientes y servidores intercambiar datos a través de HTTP. En el desarrollo web moderno, las API son el estándar de facto para crear el backend de aplicaciones móviles, sitios web y microservicios. En la plataforma .NET (C#), el desarrollo de REST API está altamente optimizado: puedes obtener un prototipo funcional literalmente en media hora, incluso si eres principiante.



En este artículo crearemos una REST API completa para gestionar una lista de tareas (ToDo List). Aprenderás cómo configurar un proyecto ASP.NET Core Web API, crear un modelo de datos, implementar operaciones CRUD (Create, Read, Update, Delete) y probar la API a través de Swagger. Todo el proceso no tomará más de 30 minutos.



1. Creación del proyecto e instalación de dependencias



Primero, abre Visual Studio 2022 (o Visual Studio Code con .NET SDK 6.0/7.0/8.0 instalado). Sigue estos pasos:



  1. Selecciona Crear nuevo proyecto → ASP.NET Core Web API.
  2. Nombra el proyecto, por ejemplo TodoApi.
  3. Asegúrate de que el framework seleccionado sea .NET 8.0 (o superior).
  4. Desmarca la casilla Use controllers si deseas usar la API mínima, pero en esta guía usaremos controladores clásicos — déjala marcada.
  5. Haz clic en Crear.


Después de crear el proyecto, la estructura se verá así:



TodoApi/├── Controllers/├── Models/├── Program.cs└── appsettings.json


No es necesario instalar paquetes adicionales — todos los componentes necesarios ya están integrados en ASP.NET Core.



2. Creación del modelo de datos y contexto de base de datos



2.1. Modelo TodoItem



Crea una carpeta Models y agrega la clase TodoItem.cs:



namespace TodoApi.Models;

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


Este es un modelo mínimo: identificador, título de la tarea y bandera de finalización.



2.2. Contexto de base de datos



Ahora crearemos el contexto para Entity Framework Core. En la carpeta Data (créeala) agrega la clase TodoContext.cs:



using Microsoft.EntityFrameworkCore;using TodoApi.Models;

namespace TodoApi.Data;

public class TodoContext : DbContext{ public TodoContext(DbContextOptions<TodoContext> options) : base(options) { }

public DbSet<TodoItem> TodoItems { get; set; }}


2.3. Configuración de Program.cs



Abre Program.cs y agrega el registro del contexto y Swagger:



using Microsoft.EntityFrameworkCore;using TodoApi.Data;

var builder = WebApplication.CreateBuilder(args);

// Agregamos controladoresbuilder.Services.AddControllers();

// Registramos el contexto de BD (usamos InMemory para simplicidad)builder.Services.AddDbContext<TodoContext>(opt => opt.UseInMemoryDatabase("TodoList"));

// Swaggerbuilder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen();

var app = builder.Build();

if (app.Environment.IsDevelopment()){ app.UseSwagger(); app.UseSwaggerUI();}

app.UseHttpsRedirection();app.UseAuthorization();app.MapControllers();

app.Run();


Nota: estamos usando UseInMemoryDatabase — es conveniente para prototipado. En un proyecto real, reemplázalo con SQL Server, PostgreSQL u otra BD.



3. Implementación del controlador con operaciones CRUD



Ahora lo más importante — el controlador. Crea en la carpeta Controllers el archivo TodoItemsController.cs:



using Microsoft.AspNetCore.Mvc;

Blogs

Book Recommendations