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

¡Califica el Curso para desarrollar servicios web REST con Nodejs!

Selecciona la calificación de 1 a 5 estrellas

Reporta un error

Curso Curso para desarrollar servicios web REST con Nodejs

Video REST y Verbos HTTP

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

REST es un tipo de arquitectura para el desarrollo de proyectos web. Principalmente, los principios que componen esta arquitectura son los siguientes:

Recursos identificables

Los recursos en una aplicación web REST, tienen un identificador persistente, es decir, que no cambia con el tiempo. Usualmente este identificador es una URI, como por ejemplo: http://codigofacilito.com/cursos/javascript-profesional identifica el curso de JavaScript.

Recursos manipulables con verbos Http.

REST propone que los recursos sean manipulados usando los verbos estándar que forman parte del protocolo HTTP, los usados son los siguientes: GET, POST, PUT, PATCH y DELETE.

GET, por su parte, debe ser usado para leer recursos, y debe ser idempotente, lo que significa que si realizas la misma acción muchas veces, el resultado es el mismo.

Lo importante del párrafo anterior, es entender que GET no modifica, crea o altera los recursos que se almacenan en el servidor web, ya que rompería la propiedad de idempotencia.

Los verbos HTTP se usan de la siguiente manera:

POST: Sirve para crear nuevos recursos, por ejemplo POST /cursos crea un nuevo curso en la colección de cursos.

GET: Sirve para lectura de recursos, por ejemplo GET /cursos lee la colección de cursos.

PUT: Sirve para actualizar recursos, por ejemplo PUT /cursos/javascript-profesional actualizaría el curso de JavaScript Profesional con los datos indicados.

DELETE: Sirve para eliminar recursos, por ejemplo DELETE /cursos/javascript-profesional eliminaría el recurso indicado.

La ventaja de usar verbos HTTP es que son un estándar, lo que permite desarrollar servicios que recibirán comunicación de otros programas, sin que de ante mano estos sepan cómo deben comunicarse.

Los recursos se representan de distintas maneras.

Un recurso puede ser representado por un archivo HTML, por una estructura JSON, una estructura XML, un PDF, etc.

La representación depende de la petición, por ejemplo GET /cursos/javascript-profesional.json nos entrega la representación en JSON, mientras que GET /cursos/javascript-profesional entrega la versión en HTML.

Los recursos conservan su propio estado

Una de las principales características de un programa REST, es que no tiene un estado. En desarrollo web, el estado puede ser guardado usando sesiones, las sesiones en un servicio web REST no existen.

Usualmente es el cliente el que conserva el estado y lo envía en cada petición.

Este es el trasfondo del funcionamiento de la autenticación con tokens, misma que cubriremos más adelante en el curso.

Para saber más. Existen algunas otras características de una arquitectura REST, sin embargo, no las cubriremos para el propósito de este curso, si quieres saber más, te dejo algunos links interesantes:

http://web.archive.org/web/20130116005443/http://tomayko.com/writings/rest-to-my-wife

https://stackoverflow.com/questions/671118/what-exactly-is-restful-programming

  • Módulo 1 | 7 clases

    Introducción

    expand_more
    • play_circle_outline

      Clase 1

      1.- Introducción al proyecto del curso

    • play_circle_outline

      Clase 2

      Requisitos previos para tomar este curso

    • play_circle_outline

      Clase 3

      Qué cubriremos en este curso

    • play_circle_outline

      Clase 4

      Descripción del proyecto

    • play_circle_outline

      Clase 5

      Configurar entorno de trabajo (Windows)

    • play_circle_outline

      Clase 6

      Configurar entorno de trabajo (MacOS)

    • play_circle_outline

      Clase 7

      Crea tu primer servidor web

  • Módulo 2 | 6 clases

    Conceptos Fundamentales

    expand_more
    • play_circle_outline

      Clase 1

      Cómo funciona un servidor web.

    • play_circle_outline

      Clase 2

      Servidor de archivos estáticos

    • play_circle_outline

      Clase 3

      Enviar JSON

    • play_circle_outline

      Clase 4

      JSON Viewer para Chrome

    • play_circle_outline

      Clase 5

      Nodemon para recargar el servidor

    • play_circle_outline

      Clase 6

      Rutas POST y Postman

  • Módulo 3 | 10 clases

    Bases de Datos y CRUDs

    expand_more
    • play_circle_outline

      Clase 1

      Generar app con Express

    • play_circle_outline

      Clase 2

      Recorridode una app generada por el Express Generator

    • play_circle_outline

      Clase 3

      Configurar la base de datos

    • play_circle_outline

      Clase 4

      Modelos en Mongoose

    • play_arrow

      Clase 5

      REST y Verbos HTTP

    • play_circle_outline

      Clase 6

      Crear lugares

    • play_circle_outline

      Clase 7

      Mostrar lugares

    • play_circle_outline

      Clase 8

      Mostrar un lugar

    • play_circle_outline

      Clase 9

      Actualizar lugar

    • play_circle_outline

      Clase 10

      Eliminar lugares

  • Módulo 4 | 15 clases

    Más allá de lo básico

    expand_more
    • play_circle_outline

      Clase 1

      Crear rutas

    • play_circle_outline

      Clase 2

      Controladores

    • play_circle_outline

      Clase 3

      Paginación

    • play_circle_outline

      Clase 4

      Qué es un Middleware en Express

    • play_circle_outline

      Clase 5

      Middleware para búsqueda individual

    • play_circle_outline

      Clase 6

      Configurar cloudinary

    • play_circle_outline

      Clase 7

      Definir archivo con secretos

    • play_circle_outline

      Clase 8

      Subir imágenes a cloud

    • play_circle_outline

      Clase 9

      Subir imágenes pt 2

    • play_circle_outline

      Clase 10

      Mover imágenes a la nube

    • play_circle_outline

      Clase 11

      Guardar información de las imágenes en la base de datos

    • play_circle_outline

      Clase 12

      Generar SEO URLs

    • play_circle_outline

      Clase 13

      Evitar colisiones con las SEO URls

    • play_circle_outline

      Clase 14

      Cambiar búsqueda de ID a Slug

    • play_circle_outline

      Clase 15

      Manejo de parámetros

  • Módulo 5 | 6 clases

    Autenticación de usuarios

    expand_more
    • play_circle_outline

      Clase 1

      Modelo de usuarios

    • play_circle_outline

      Clase 2

      Encriptar contraseñas con bcrypt

    • play_circle_outline

      Clase 3

      Crear usuarios

    • play_circle_outline

      Clase 4

      Generar Json Web Tokens

    • play_circle_outline

      Clase 5

      Iniciar sesión

    • play_circle_outline

      Clase 6

      Asignar al primer usuario permisos de administrador

  • Módulo 6 | 5 clases

    Relaciones básicas uno a muchos

    expand_more
    • play_circle_outline

      Clase 1

      Agregar campo usuario a un lugar

    • play_circle_outline

      Clase 2

      Proteger rutas con autenticación

    • play_circle_outline

      Clase 3

      Crear lugares con un usuario

    • play_circle_outline

      Clase 4

      Virtuales para obtener los lugares que creé

    • play_circle_outline

      Clase 5

      Proteger rutas para usuarios propietarios

  • Módulo 7 | 9 clases

    Relaciones muchos a muchos

    expand_more
    • play_circle_outline

      Clase 1

      Crear modelo Favoritos

    • play_circle_outline

      Clase 2

      CRUD Favoritos

    • play_circle_outline

      Clase 3

      Virtuales para relaciones muchos a muchos

    • play_circle_outline

      Clase 4

      Crear modelo de Visitas

    • play_circle_outline

      Clase 5

      Enums

    • play_circle_outline

      Clase 6

      CRUD de Visitas

    • play_circle_outline

      Clase 7

      Visitas a través de negocios

    • play_circle_outline

      Clase 8

      Visitas de un negocio

    • play_circle_outline

      Clase 9

      Visitas de un usuario

  • Módulo 8 | 11 clases

    Seguridad en servicios web

    expand_more
    • play_circle_outline

      Clase 1

      Modelo Aplicaciones (Clientes)

    • play_circle_outline

      Clase 2

      Asignar valores random a secret y applicationId

    • play_circle_outline

      Clase 3

      Crear aplicaciones

    • play_circle_outline

      Clase 4

      Eliminar aplicaciones

    • play_circle_outline

      Clase 5

      Rutas exclusivas de administradores

    • play_circle_outline

      Clase 6

      Proteger rutas con secretos

    • play_circle_outline

      Clase 7

      Preflight en CORs

    • play_circle_outline

      Clase 8

      Proteger rutas con ApplicationId

    • play_circle_outline

      Clase 9

      Encabezados para CORs

    • play_circle_outline

      Clase 10

      Dominios enlazados para una aplicación

    • play_circle_outline

      Clase 11

      Proteger de dominios no autorizados

REST y Verbos HTTP

arrow_back Siguiente arrow_forward
Curso para desarrollar servicios web REST con Nodejs