Logo de Código Facilito
  • Inicio
  • Replays
  • Iniciar sesión
  • Crear cuenta
  • Explorar cursos
  • Bootcamps
  • Precios
  • Blog

¡Califica el Curso profesional de Ruby on Rails!

Selecciona la calificación de 1 a 5 estrellas

Reporta un error

Curso Curso profesional de Ruby on Rails

Video Verbos HTTP y REST

Tipo de error

Algo salió mal al cargar el vídeo

El vídeo no pudo cargarse, hemos enviado un reporte al equipo de desarrollo, para poder solucionarlo a la brevedad.

Mientras solucionamos el problema, intenta lo siguiente para solucionar el error:

  • Recarga la página
  • Intenta reiniciar tu navegador y luego vuelve a reproducir el vídeo
  • Vacía el caché de tu navegador
  • Intenta reproducir con las extensiones del navegador deshabilitadas
  • Intenta con un navegador distinto
  • Si el problema persiste contáctanos en Discord
home Ir al inicio report_problem Reportar falla star Valorar curso

Estas son algunas reglas que te servirán para saber cómo y cuándo debes usar los verbos Http en una arquitectura REST.

Los verbos Http involucrados en un sistema REST son GET, POST, PUT, PATCH y DELETE.

GET es el que usamos para consultar un recurso. Una de las principales características de una petición GET es que no debe causar efectos secundarios en el servidor, no deben producir nuevos registros, ni modificar los ya existentes. A esta cualidad la llamamos idempotencia, cuando una acción ejecutada un número indefinido de veces, produce siempre el mismo resultado.

Esto quiere decir, que no importa cuántas veces hagamos una petición GET, los resultados obtenidos serán los mismos.

Cuando ingresamos a la dirección usando GET https://cf.com/c/backend-profesional/ estamos solicitando que se nos entregue el recurso identificado por /cursos/backend-profesional, este es un buen ejemplo de uso con GET.

Esta otra ruta: https://codigofacilito.com/c/recomendar?selected_level=0&category_options=28 aunque más compleja, también es correcta, estamos solicitando los recursos identificados por /cursos con las opciones de filtrado ahí indicadas. Sin importar cuantas veces hagamos esta solicitud, no modificará los resultados por sí misma.

Las peticiones con POST son sólo para crear recursos nuevos. Cada llamada con POST debería producir un nuevo recurso.

Normalmente, la acción POST se dirige a una recurso que representa una colección, para indicar que el nuevo recurso debe agregarse a dicha colección, por ejemplo POST /cursos para agregar un nuevo recurso a la colección cursos.

Si queremos crear un nuevo artículo, pudiéramos tener una URI /articulos. Lo que es importante en estos casos, es recordar que la URI no debe decir qué acción estamos ejecutando, nos olvidamos de /articulos/crear o de /cursos/agregar, etc. El verbo dice qué haremos, y la URI sobre qué recurso se harán las modificaciones.

Algunos escenarios más complejos para el uso de POST son los inicios de sesión, agregar a un carrito de compras, procesar un pago nuevo, etc. Estos ejemplos nos dejan en claro que el recurso creado por POST no es precisamente una fila en la base de datos, el recurso puede ser una sesión, un pago en una API externa, etc.

Los verbos PUT/PATCH son muy similares ya que ambos se usan para modificar un recurso existente. En la teoría, PUT se diferencía de PATCH, en que el primero indica que vamos a sustituir por completo un recurso, mientras que PATCH habla de actualizar algunos elementos del recurso mismo, sin sustituirlo por completo.

Un escenario común para el uso de PUT sería una llamada para actualizar la información de un curso, por ejemplo:

PUT /cursos/backend-profesional

O también:

PATCH /cursos/backend-profesional

En la práctica, y particularmente en Rails, ambos verbos se usan para actualizar un recurso, sin importar si lo sustituimos parcial o totalmente.

Por último, DELETE es el verbo que usamos para eliminar registros, bien pudiera ser para eliminar un recurso individual como en:

DELETE /cursos/backend-profesional

O para eliminar una colección completa:

DELETE /cursos

Esta es la manera a través de la que usamos los verbos Http en una aplicación web. Estos en combinación con las URIs proveen la interfaz uniforme de la que hablamos cuando discutimos las características de un sistema REST.

Como podrás notar, el beneficio de estas es que se establece una guía para la construcción de la aplicación, las rutas siempre representan recursos, las acciones se representan con Http.

Veamos cómo Rails usa REST en el ejemplo del scaffold, continuemos.

  • Módulo 1 | 10 clases

    Introducción al framework

    expand_more
    • play_circle_outline

      Clase 1

      Presentación del curso de Rails

    • play_circle_outline

      Clase 2

      Qué es Ruby on Rails

    • play_circle_outline

      Clase 3

      Conocimientos previos

    • play_circle_outline

      Clase 4

      Instalación en Mac

    • play_circle_outline

      Clase 5

      Instalación en Windows

    • play_circle_outline

      Clase 6

      Crear un proyecto de Ruby on Rails

    • play_circle_outline

      Clase 7

      Explorar los archivos del proyecto

    • play_circle_outline

      Clase 8

      Componentes del framework

    • play_circle_outline

      Clase 9

      Convención sobre configuración

    • play_circle_outline

      Clase 10

      Ambientes de desarrollo

  • Módulo 2 | 9 clases

    Primeros pasos con Rails

    expand_more
    • play_circle_outline

      Clase 1

      Primera vista y primera ruta. Hola mundo

    • play_circle_outline

      Clase 2

      Motor de render para las vistas

    • play_circle_outline

      Clase 3

      Cómo responde a una petición web Ruby on Rails

    • play_circle_outline

      Clase 4

      Introducción a las rutas

    • play_circle_outline

      Clase 5

      La ruta principal

    • play_circle_outline

      Clase 6

      Métodos en las vistas (Helpers)

    • play_circle_outline

      Clase 7

      Formularios en Rails

    • play_circle_outline

      Clase 8

      Leer parámetros en un controlador

    • play_circle_outline

      Clase 9

      Generadores de código

  • Módulo 3 | 10 clases

    Manejo de datos

    expand_more
    • play_circle_outline

      Clase 1

      Introducción al bloque

    • play_circle_outline

      Clase 2

      MIgraciones en Rails

    • play_circle_outline

      Clase 3

      Crear la base de datos y primer migración

    • play_circle_outline

      Clase 4

      ID y timestamps

    • play_circle_outline

      Clase 5

      Modelos

    • play_circle_outline

      Clase 6

      Pruebas unitarias

    • play_circle_outline

      Clase 7

      Primera prueba unitaria

    • play_circle_outline

      Clase 8

      Primera validación del modelo

    • play_circle_outline

      Clase 9

      El ActiveRecord

    • play_circle_outline

      Clase 10

      Acercamiento a las consultas

  • Módulo 4 | 6 clases

    REST

    expand_more
    • play_circle_outline

      Clase 1

      El scaffold

    • play_circle_outline

      Clase 2

      Qué es REST

    • play_circle_outline

      Clase 3

      REST en la práctica

    • play_arrow

      Clase 4

      Verbos HTTP y REST

    • play_circle_outline

      Clase 5

      Rutas REST

    • play_circle_outline

      Clase 6

      Ejercicio: Agregar una nueva columna al scaffold

  • Módulo 5 | 9 clases

    Construye tu propio CRUD

    expand_more
    • play_circle_outline

      Clase 1

      Crear la tabla y el modelo

    • play_circle_outline

      Clase 2

      Pruebas unitarias y validaciones

    • play_circle_outline

      Clase 3

      Crear el controlador

    • play_circle_outline

      Clase 4

      Rutas REST

    • play_circle_outline

      Clase 5

      Crear registros

    • play_circle_outline

      Clase 6

      Consultar y mostrar registros

    • play_circle_outline

      Clase 7

      Editar registros

    • play_circle_outline

      Clase 8

      Eliminar registros

    • play_circle_outline

      Clase 9

      Recapitulación del bloque

  • Módulo 6 | 10 clases

    Controladores y rutas

    expand_more
    • play_circle_outline

      Clase 1

      Detalles de un controlador

    • play_circle_outline

      Clase 2

      Respuestas de un controlador

    • play_circle_outline

      Clase 3

      Parámetros

    • play_circle_outline

      Clase 4

      Strong Params: Filtrado de parámetros

    • play_circle_outline

      Clase 5

      Filtros en el controlador

    • play_circle_outline

      Clase 6

      Cookies y sesiones

    • play_circle_outline

      Clase 7

      Mensajes flash

    • play_circle_outline

      Clase 8

      Concerns

    • play_circle_outline

      Clase 9

      Métodos asociados a rutas

    • play_circle_outline

      Clase 10

      Configurar las rutas recurso

  • Módulo 7 | 18 clases

    Modelos

    expand_more
    • play_circle_outline

      Clase 1

      Introducción al bloque

    • play_circle_outline

      Clase 2

      Filtrado con where

    • play_circle_outline

      Clase 3

      Operador lógico OR para consultas

    • play_circle_outline

      Clase 4

      Negación de consultas con NOT

    • play_circle_outline

      Clase 5

      Limpieza de parámetros (sanitizar)

    • play_circle_outline

      Clase 6

      Otras operaciones comúnes

    • play_circle_outline

      Clase 7

      Ejercicio: Implementar paginación

    • play_circle_outline

      Clase 8

      Scopes y métodos de clase

    • play_circle_outline

      Clase 9

      Configurando validaciones

    • play_circle_outline

      Clase 10

      Callbacks

    • play_circle_outline

      Clase 11

      Callbacks con su descripción en español

    • play_circle_outline

      Clase 12

      Relaciones entre tablas

    • play_circle_outline

      Clase 13

      Relaciones en el esquema

    • play_circle_outline

      Clase 14

      Definir asociaciones

    • play_circle_outline

      Clase 15

      Foreign Key Constraints

    • play_circle_outline

      Clase 16

      Relaciones muchos a muchos

    • play_circle_outline

      Clase 17

      Definir asociaciones muchos a muchos

    • play_circle_outline

      Clase 18

      Dónde aprender más

  • Módulo 8 | 13 clases

    Vistas y Formularios

    expand_more
    • play_circle_outline

      Clase 1

      Panorama general de las vistas

    • play_circle_outline

      Clase 2

      Layouts

    • play_circle_outline

      Clase 3

      yields con nombre

    • play_circle_outline

      Clase 4

      Trabajando con formularios

    • play_circle_outline

      Clase 5

      Cómo funcionan los métodos de FormBuilder

    • play_circle_outline

      Clase 6

      Select

    • play_circle_outline

      Clase 7

      Checkboxes

    • play_circle_outline

      Clase 8

      Checkboxes y relaciones

    • play_circle_outline

      Clase 9

      Radio buttons

    • play_circle_outline

      Clase 10

      Parciales

    • play_circle_outline

      Clase 11

      Render de colecciones

    • play_circle_outline

      Clase 12

      Bloques y layouts para parciales

    • play_circle_outline

      Clase 13

      Helper methods

  • check_circle_outline
    Módulo 9

    Examen del curso

    expand_more
    • done_all

      Examen

      Examen final del curso

Verbos HTTP y REST

arrow_back Siguiente arrow_forward
Curso profesional de Ruby on Rails