Guía Paso a Paso para Crear una API REST con Ruby on Rails desde Cero

Guía Paso a Paso para Crear una API REST con Ruby on Rails desde Cero

Tutorial Ruby on Rails API: Cómo Crear una API RESTful paso a paso

Introducción

Bienvenido a este tutorial Ruby on Rails API, enfocado en desarrolladores principiantes e intermedios que desean iniciarse en el desarrollo backend Ruby y crear API RESTful usando Rails. Aquí aprenderás desde la instalación y configuración del entorno hasta la creación de modelos, controladores, rutas y manejo completo de solicitudes HTTP (GET, POST, PUT, DELETE). También cubriremos validaciones y cómo responder con JSON, que es vital para las APIs modernas.

¡Vamos a comenzar!


Configuración del entorno de desarrollo

Requisitos previos

Antes de crear tu API REST Rails, asegúrate de tener instalado:

  • Ruby (versión 2.7 o superior recomendada)
  • Rails (versión 6 o 7)
  • SQLite3 o cualquier otra base de datos compatible
  • Bundler para manejar dependencias

Instalación de Ruby y Rails

Si no tienes Ruby instalado, puedes hacerlo desde ruby-lang.org.

Luego, instala Rails ejecutando en la terminal:

Confirma la versión instalada con:

Crear un nuevo proyecto Rails API

Utilizaremos la opción --api para crear un proyecto enfocado en API RESTful.

La opción --api configura Rails para responder en JSON y con menos middleware, ideal para APIs.

Ejecutar el servidor

Verifica que todo esté funcionando:

Abre tu navegador en http://localhost:3000 para ver la página de bienvenida Rails, aunque en modo API es mínima.


Crear un modelo con Rails

Vamos a crear un recurso sencillo: Article (artículos), con atributos comunes como título y contenido.

Esta orden genera el modelo Article con los campos title y content, y luego ejecuta la migración para crear la tabla en la base de datos.

Modelo generado: app/models/article.rb

Ahora, abre app/models/article.rb, donde podrás agregar validaciones para el modelo.

Las validaciones ayudan a que la API evite guardar datos inválidos.


Crear controladores y rutas para la API

Ahora implementaremos el controlador para Article que responda a las solicitudes RESTful: GET, POST, PUT/PATCH y DELETE.

Generar el controlador

Definir rutas en config/routes.rb

Rails facilita las rutas REST con resources.

Esta estructura ronda las mejores prácticas para versionado de APIs. Tus URLs quedarán tipo /api/v1/articles.

Crear el controlador con acciones RESTful

Dentro de app/controllers/api/v1/articles_controller.rb:

Explicación de cada acción

  • index: Lista todos los artículos con un GET
  • show: Muestra un artículo por ID con GET
  • create: Crea un nuevo artículo con POST y validación
  • update: Actualiza un artículo con PUT o PATCH
  • destroy: Borra un artículo con DELETE

El método set_article busca el artículo por ID o devuelve error 404 si no existe.


Probar la API con cURL o Postman

Listar artículos

Crear un artículo

Actualizar artículo (suponiendo ID=1)

Borrar artículo (ID=1)


Buenas prácticas para desarrollo backend Ruby con APIs Rails

  • Usa nombres coherentes y RESTful para rutas y acciones
  • Valida siempre los datos en modelos antes de guardar
  • Maneja errores con respuestas JSON claras y códigos HTTP adecuados
  • Versiona tu API para controlar cambios sin afectar clientes existentes
  • Usa filtros before_action para reducir código repetido
  • Protege la API con autenticación (como JWT) en proyectos reales

Conclusión

Acabas de crear tu primera API RESTful Ruby on Rails, que incluye:

  • Instalación y configuración del entorno
  • Creación del modelo con validaciones
  • Controladores y rutas RESTful
  • Manejo de solicitudes HTTP (GET, POST, PUT, DELETE)
  • Respuestas JSON y manejo de errores

Este tutorial Ruby on Rails API es la base para construir robustas APIs backend, preparadas para cualquier cliente como apps móviles o frontend SPA.

¿Qué sigue?

Te invitamos a:

  • Añadir autenticación a tu API con devise o JWT
  • Explorar serializadores como ActiveModel::Serializer para controlar la salida JSON
  • Agregar pruebas automáticas con RSpec

Empieza a construir servicios escalables con Ruby on Rails, domina el desarrollo backend Ruby y lleva tus proyectos a un nuevo nivel.

¡Sigue aprendiendo y creando APIs RESTful con Rails!


Referencias