Creación de APIs con Rails: Proyecto Blog API paso a paso
Clase 3 de 33 • Curso de Creación de APIs con Ruby on Rails
Contenido del curso
- 3

Creación de APIs con Rails: Proyecto Blog API paso a paso
04:37 - 4

Configuración de Gemas para Pruebas en Proyectos Rails
06:26 - 5

Configuración de Gemas en Proyectos Rails: Arspec, Factory Bot y Database Cleaner
07:25 - 6

Implementación de un Health Check Endpoint en API con RSpec
12:28 - 7

Diseño de Casos de Uso y Diagramas de Entidad para Aplicaciones
03:16 - 8

Diagrama de Entidad Relación para Modelos de Aplicación
01:41 - 9

Modelado de Aplicaciones con TDD en Rails
05:59 - 10

Validaciones y Pruebas TDD en Rails: Modelos USR y Post
07:07 - 11

Implementación de Endpoints para Listar y Mostrar Posts con TDD
15:12 - 12

Implementación de Pruebas y Controladores en Rails
10:34 - 13

Creación y Actualización de Posts con Pruebas TDD
10:12 - 14

Implementación de Métodos y Manejo de Excepciones en Rails API
10:23 - 15

Serialización de Modelos en Rails con ActiveModelSerializer
06:03 - 16

Búsqueda y Filtrado de Posts por Título con TDD
05:57 - 17

Implementación de Búsqueda de Posts con Servicios en Rails
06:06 - 18

Problema N+1 en Rails: Detección y Solución Eficaz
04:40 - 19

Identificación y solución del problema N+1 en Rails
06:20 - 20

Flujo de Autenticación en APIs con Tokens y Proveedores
05:29 - 21

Pruebas de Autenticación en API con Test Driven Development
12:17 - 22

Autenticación con Tokens: Implementación en Rails API
05:54 - 23

Autenticación de Usuarios en Controladores Rails
09:20 - 24

Autenticación y Seguridad en CRUD de Posts en Rails
09:17 - 25

Pruebas de Creación y Actualización con Autenticación en Rails
14:21 - 26

Pruebas de API con Postman: Ejecución y Verificación de Respuestas
10:43 - 27

Caching en Aplicaciones Web: Funciones y Niveles
07:15 - 28

Aceleración de Búsquedas en Rails con Caching
08:23 - 29

Background Jobs en Rails: Conceptos y Funcionalidades
05:45 - 30

Procesamiento en Background y Envío de Correos con Rails
09:45 - 31

Envío de Correos en Rails con ActionMailer y Background Jobs
11:06 - 32
Autenticación y Autorización con JWT y Auth0 en Aplicaciones Web
03:48
¿Cómo crear un proyecto de Rails como API?
Crear un proyecto en Rails enfocado exclusivamente en el desarrollo de una API podría ser más sencillo de lo que piensas. El proceso requiere un entendimiento clave de algunas diferencias importantes con un proyecto de Rails completo, pero no te preocupes, aquí te guiaremos paso a paso. Dicho esto, comencemos a romper las barreras y aprovechemos el poder de Rails para crear APIs eficientes.
¿Cómo configurar el proyecto inicial?
Para iniciar un proyecto de Rails centrado exclusivamente en una API, el primer paso es definir correctamente el entorno desde nuestra terminal. El comando que utilizamos es:
rails new blogAPI --api -T
rails new: Este comando inicia un nuevo proyecto en Rails.blogAPI: Este es el nombre del proyecto; puedes cambiarlo según tus necesidades.--api: Este flag asegura que Rails genere solo los archivos necesarios para una API, omitiendo los relacionados con vistas.-T: Evita la generación de archivos relacionados con pruebas, ya que usaremos RSpec en lugar de Minitest.
¿Por qué elegir RSpec en lugar de Minitest?
Rails, de forma predeterminada, utiliza Minitest para realizar pruebas, pero en este proyecto usaremos RSpec porque proporciona funcionalidades adicionales y una excelente integración con Rails. RSpec es considerado más completo en cuanto a las herramientas que ofrece para pruebas, facilitando un entorno de desarrollo más robusto.
Explorando la estructura del proyecto Rails API
Una vez generada la aplicación, se crea una carpeta con la estructura típica de un proyecto Rails, que incluye channels, controllers, jobs, mailers, y models. La diferencia principal radica en cómo están organizados los módulos.
- application.rb: En un proyecto completo, normalmente incluiría
rails/all, lo que significa todos los módulos, incluidas vistas. Sin embargo, en una API solo especificamos los módulos necesarios para este propósito. - application_controller: Aquí podemos observar que hereda de
ActionController::APIen lugar deActionController::Base, reflejando la naturaleza especializada de nuestro proyecto como API.
¿Cómo manejar el control de versiones con Git?
Una vez que la estructura del proyecto está clara, otro paso crucial es configurar el control de versiones utilizando Git. Afortunadamente, el generador de Rails crea un .gitignore lleno de configuraciones necesarias para comenzar a manejar las versiones de manera efectiva.
Procedemos a crear nuestro primer commit:
git add .
git commit -m "Initial commit"
Probando la aplicación
Para verificar que tu aplicación centralizada en API funciona correctamente, usa el comando rails s o rails server, y verifica accediendo a localhost:3000 en tu navegador. Deberías ver una pantalla de inicio generada por Rails, confirmando que todo está en orden con la versión de Rails y Ruby.
Sigamos mejorando nuestra base de conocimientos en Rails y APIs, explorando más en futuras lecciones sobre cómo configurar herramientas de pruebas como RSpec y Factory Bot. ¡El viaje hacia el dominio de desarrollo web en Rails apenas comienza!