Cómo escribir una API REST en C# en 30 minutos: para principiantes

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: API REST en C# — es más fácil de lo que parece



El desarrollo de aplicaciones web y microservicios es impensable sin una API REST. Si recién comienza su camino en la programación, crear su propia API puede parecer una tarea compleja. Sin embargo, con el framework ASP.NET Core en C#, podrá escribir un servicio RESTful funcional en literalmente 30 minutos.



En esta guía, crearemos paso a paso una API simple para gestionar una lista de tareas (Todo List). Aprenderá a configurar el proyecto, crear un modelo de datos, un controlador y probar los endpoints. Sin magia — solo código limpio y explicaciones claras.



Al final del artículo, tendrá una API completamente funcional que admite todas las operaciones CRUD básicas (Create, Read, Update, Delete).



Paso 1: Preparación del entorno y creación del proyecto



Antes de escribir código, asegúrese de tener instaladas las herramientas necesarias:



  • .NET SDK (versión 8.0 o superior) — descargar desde el sitio oficial de Microsoft
  • Visual Studio (2022 Community Edition) o Visual Studio Code con la extensión de C#
  • Postman o cualquier otro cliente REST para pruebas


Abra la terminal (o línea de comandos) y ejecute el siguiente comando para crear un nuevo proyecto Web API:



dotnet new webapi -n TodoApicd TodoApi


Después de crear el proyecto, abra la carpeta TodoApi en su IDE. La estructura del proyecto contendrá varias carpetas y archivos, pero por ahora nos interesan tres clave: Program.cs, Controllers y Models.



Paso 2: Creación del modelo de datos



El modelo es una clase que describe la estructura de datos de nuestra API. Para la lista de tareas, necesitaremos tres campos: un identificador único, el nombre y el estado de finalización.



Cree una nueva carpeta Models en la raíz del proyecto, y dentro, un archivo TodoItem.cs:



namespace TodoApi.Models;

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


Observe el signo de interrogación después de string. Indica que la propiedad Name puede ser null. Esta es una buena práctica para evitar advertencias del compilador.



Paso 3: Creación del controlador e implementación de CRUD



El controlador es una clase que maneja las solicitudes HTTP. En ASP.NET Core, los controladores heredan de ControllerBase y usan atributos para el enrutamiento.



Cree un archivo TodoItemsController.cs en la carpeta 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