search
CursosEmpresasBlogLiveConfEventosPrecios

0:00/15:25

Insomnia y Postman

Curso de Introducción al Desarrollo Backend

Clase 8 de 19

Clase 8 / 19

Progreso del curso

Roles del desarrollo web

  • 1

    Los roles del desarrollo backend

    02:13
  • 2lock

    Frontend, Backend y Full Stack

    Suscríbete para ver más

Fundamentos del backend

  • 3lock

    ¿Cómo se construye el backend?

    Suscríbete para ver más
  • 4lock

    ¿Cómo escoger lenguajes y frameworks para backend?

    Suscríbete para ver más
  • 5lock

    HTTP

    Suscríbete para ver más

APIs REST

  • 6lock

    ¿Qué son las APIs?

    Suscríbete para ver más
  • 7lock

    Estructura REST API

    Suscríbete para ver más
  • play_arrowlock

    Insomnia y Postman

    play_circleViendo ahora

Backend en el dia a día

  • 9lock

    La nube

    Suscríbete para ver más
  • 10lock

    DevOps

    Suscríbete para ver más
  • 11lock

    El servidor

    Suscríbete para ver más
  • 12lock

    Cookies y sesiones

    Suscríbete para ver más
  • 13lock

    Bases de datos

    Suscríbete para ver más

Escalabilidad en el backend

  • 14lock

    ¿Qué es el escalamiento?

    Suscríbete para ver más
  • 15lock

    ¿Qué es la replicación?

    Suscríbete para ver más
  • 16lock

    ¿Qué es la caché?

    Suscríbete para ver más
  • 17lock

    Colas de tareas

    Suscríbete para ver más
  • 18lock

    Server-Side Rendering

    Suscríbete para ver más

Próximos pasos

  • 19lock

    ¿Qué aprender ahora?

    Suscríbete para ver más
workspace_premiumTomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads
Insomnia y Postman

Comentarios (190)190 comentarios

    Diego Geovanny Bracero

    Diego Geovanny Bracero

    Hace 4 años
      Antonio Demarco Bonino

      Antonio Demarco Bonino

      Hace 4 años

      Muchas gracias Diego. Lo voy a probar. #NuncaParesDeAyudar

      Joel Angel David Barrantes Palacios

      Joel Angel David Barrantes Palacios

      Hace 4 años

      obvio que no vas a poder eliminar los productos que no creas, porque son parte del api y segura tiene una validación y lanza un response del tipo 400 y tantos , porque sino otro podria usar la api y no encontraría ningún producto cuando haga un get :-)

Sergio Valbuena

Sergio Valbuena

Hace 4 años

VSCode tienen una extension que se llama THUNDER CLIENT, hace lo mismo que insomnia o Postman, pero dentro del editor!

    Alessandro Amaya Barboza

    Alessandro Amaya Barboza

    Hace 4 años

    También pueden utilizar otra extension que se llama REST Client que hace la misma función, por si la quieren probar 😁

    Willy Jove

    Willy Jove

    Hace 4 años

    También hay otra llamda RapidAPI Client :D

Necesitas ayuda? 👇

Recordemos que para dar instrucciones a la API tenemos diferentes métodos para llevarlas a cabo:

Create (crear) → POST. Read (leer) → GET. Update (actualizar) → PUT / PATCH. Delete (eliminar) → DELETE.

Estas las configuramos en insomnia antes de hacer una petición a la FakeAPI de la siguiente manera:

Obtener todas las categorías (GET)

[GET] https://api.escuelajs.co/api/v1/categories
[ { "id": 1, "name": "Clothes", "image": "https://placeimg.com/640/480/any" } // ... ]

Obtener una sola categoría (GET)

[GET] https://api.escuelajs.co/api/v1/categories/1
{ "id": 1, "name": "Clothes", "image": "https://placeimg.com/640/480/any" }

Crear una categoría (POST)

[POST] https://api.escuelajs.co/api/v1/categories/

Body de tipo JSON:

{ "name": "Mi nueva categoría", "image": "https://placeimg.com/640/480/any" }

Actualizar categoría (PUT)

[PUT] https://api.escuelajs.co/api/v1/categories/1

Body tipo JSON:

{ "name": "Change name" }

No es necesario enviar todos los atributos, es suficiente con el atributo que deseamos actualizar.

.

Eliminar Categoría (DELETE)

[DELETE] https://api.escuelajs.co/api/v1/categories/1

Por alguna razón este método regresa un 404, pero si creamos un nuevo producto si podemos eliminarlo, les muestro a continuación a modo de práctica si te quedaste con las ganas de usarlo.

.

Eliminando un producto con DELETE

Primero necesitamos crear un producto utilizando la siguiente petición y enviando el body (JSON) correctamente:

Petición

[POST] https://api.escuelajs.co/api/v1/products/

Body

{ "title": "Mi nuevo producto", "price": 100, "description": "soy una descripcion", "categoryId": 1, "images": ["https://placeimg.com/640/480/any"] }

Deberia generarse un 201 Una vez enviado obtendremos de respuesta algo asi :

{ "title": "Mi nuevo producto", "price": 100, "description": "soy una descripcion xD", "images": [ "https://placeimg.com/640/480/any" ], "category": { "id": 1, "name": "Clothes", "keyLoremSpace": "fashion", "image": "https://api.lorem.space/image/fashion?w=640&h=480&r=2908" }, "id": 219 }

Donde el "id" final es el identificador de nuestro producto, lo usaremos para buscarlo y verificar que existe y para eliminarlo

Obteniendo el nuevo producto

[GET] https://api.escuelajs.co/api/v1/products/219

Eliminando el nuevo producto

[DELETE] https://api.escuelajs.co/api/v1/products/219

Verificando eliminación

[GET] https://api.escuelajs.co/api/v1/products/219

En este punto deberia generarse un error 404

Si esta información te fue útil, dale un 💚 y recuerda #nunca_pares_de_ayudar

Gabriel Andrés Alzate Acuña

Gabriel Andrés Alzate Acuña

Hace 4 años

Excelente la API en vivo!!!!!!!!!!!

Acá les dejo el enlace:

    Felix Torres Javier Antonio

    Felix Torres Javier Antonio

    Hace 4 años

    creo que no está funcionado

    Eddie Andres Rios Elgueta

    Eddie Andres Rios Elgueta

    Hace 4 años

    Funciona, pero no como página de navegador. Igualmente replica la clase y verás

Jesús García

Jesús García

Hace 4 años

5 Insights que debes conocer sobre las API REST:

⠀

bad-server-status1.jpg


⠀ 1- Son stateless. Cada petición que se realiza debe contener toda la información necesaria para ser entendida y procesada, y no se mantiene ninguna información sobre las peticiones previas. ⠀ 2- Las API REST (REpresentational State Transfer) son actualmente uno de los estándares más utilizados para el desarrollo de servicios web. ⠀ 3- Exponen recursos (o Endpoints) en forma de URLs, y utilizar un formato como JSON o XML para intercambiar datos. Lo que vimos en el curso como el body de la petición. ⠀ 4- Tal como lo vimos en clase, se basan en el protocolo HTTP, por lo que se utilizan verbos como GET, POST, PUT y DELETE para realizar operaciones en los recursos de una API. ⠀ 5- Deben seguir los principios de diseño REST, como la utilización de URIs adecuadas y la estructuración correcta de las respuestas HTTP para garantizar una correcta implementación.

Alvaro Eduardo Garzón Pira

Alvaro Eduardo Garzón Pira

Hace 4 años

¡Hola!

Corrijanme por favor si estoy equivocado, pero creería que deberían de habilitar también PATCH para la API de Platzi Fake Store, esto lo menciono porque al realizar una petición con método PUT a esta API, permite actualizar solo uno de los campos y no todos, pero cuando se van a realizar actualizaciones parciales, existe PATCH. PUT es cuando se va a cambiar practicamente todos los valores, posiblemente una actualización completa de la entidad, con esto se aseguraría la idempotencia según el estandar REST, también PUT es para asegurarse que el estado final del recurso será identico al que envió, quizás para temas educativos está bien que no se cumpla el estandar como una camisa de fuerza pero también siento que si nos acostumbramos a seguir el estandar desde un principio, no tendremos tantos estrellones en la vida laboral, solo siento que podría ser una recomendación ya que al intentar realizar PATCH en estos momentos, me arroja que no lo tienen contemplado en el backend de categorias:

"message": "Cannot PATCH /api/v1/categories/21",

¡Gracias!

Fuente: RFC5789 BBVA Next Tech

    Brayan Lopez

    Brayan Lopez

    Hace un año

    Es un buen aporte, aunque debes tener en cuenta que incluso en la vida laboral muchas de esas reglas no se cumplen. He trabajado en empresas donde implementan REST de forma parcial, no siguen todas las reglas al pie de la letra.

Alexis Antonio Ibarra Fernández

Alexis Antonio Ibarra Fernández

Hace 4 años

hola si pude borrar la informacion ,la clave es borrar la que uno mismo creo, ya que el sistema no deja borrar las que estan prederminadas en la aplicacion de platzi.

    Francisco Murillo

    Francisco Murillo

    Hace 4 años

    yo pude borrar cualquiera

    Venus Perez

    Venus Perez

    Hace 3 años

    Me pasa igual, solo pude borrar la que yo cree

Carlos Mauro Cárdenas Fernández

Carlos Mauro Cárdenas Fernández

Hace 4 años

Esta bien usable insomia

Jimer Samuel Espinoza

Jimer Samuel Espinoza

Hace 4 años

No puedo eliminarlaaaaaaa

    Erik Santiago Mantilla Agaton

    Erik Santiago Mantilla Agaton

    Hace 4 años

    Me pasó igual, quería eliminar que había creado pero me sale código de error 404 :( ¿Al final si pudiste?

    Kalet Adonay Chavez Alas

    Kalet Adonay Chavez Alas

    Hace 4 años

    Puede que el id que mandaste en la peticion no exista,aunque todo depende de el codigo http que te haya respondido el backend

Jesús alfaro

Jesús alfaro

Hace 4 años

Delete

delete.png

Kalet Adonay Chavez Alas

Kalet Adonay Chavez Alas

Hace 4 años

Si usan Visual Studio code, pueden usar la extension Thunder client,que sirve para lo mismo!!

    Greymar Osuna Zambrano

    Greymar Osuna Zambrano

    Hace 4 años

    Gracias por la informacion!!!!

Santiago López Alarcón

Santiago López Alarcón

Hace 3 años

Súpe, me gustó bastante esta clase.

Gonzalo Osco Hernandez

Gonzalo Osco Hernandez

Hace 4 años

Existen infinidad de clientes Rest, pero sin dudo Postman es de los mas completos, permitiendote generar documentacion, crear tus API test y permitirte tener colleciones compartidas. Una funcion que me encanta y ayuda mucho es la de importar unn resquest en formato curl simplemento copiando este desde el devtools del chrome

Jonathan Restan Chamorro

Jonathan Restan Chamorro

Hace 4 años

intente eliminar el producto de otra persona y no pude retornaba error, luego intente eliminar uno que yo mismo habia creado y todos salio bien.

Captura de pantalla 2023-03-31 a la(s) 7.04.56 p.m..png
    Adriana María Martínez Echandía

    Adriana María Martínez Echandía

    Hace 4 años

    Me pasó igual a mi!

Pablo Zoe Mata Nuñez

Pablo Zoe Mata Nuñez

Hace 2 meses

No me aparece la pagina fake api platzi

Alejandro Camayo Cabanillas

Alejandro Camayo Cabanillas

Hace un año

Cuidado al usar thunder client, la funcionalidad básica es de pago (entornos), así que no vale la pena. Tenga en cuenta que si excede el límite de solicitudes, no podrá abrir las que creó anteriormente.

N40 M10

N40 M10

Hace 4 años

Para linux no ubuntu: https://github.com/Kong/insomnia para arch esta en aur insomnia-gir. PD: si utiliza electron...

Alvaro Eduardo Garzón Pira

Alvaro Eduardo Garzón Pira

Hace 4 años

¡Hola Nicolas!

El DELETE no está funcionando para el endpoint de las categorias:

Platzi.png

    Kalet Adonay Chavez Alas

    Kalet Adonay Chavez Alas

    Hace 4 años

    si haces un get a la url: https://api.escuelajs.co/api/v1/categories, te mostrara que solo existen 10 categorias, con id de el 1 al 10,entonces tu estas mandando el id 21,lo cual no existe,es por eso que te responde not found!!

    Alvaro Eduardo Garzón Pira

    Alvaro Eduardo Garzón Pira

    Hace 4 años
Jerald Jeanphierre Espinoza Flores

Jerald Jeanphierre Espinoza Flores

Hace 4 años

Me acomodo más con Insomnia que con Postman... Gracias por usarla

Sergio Alejandro Ahumada Corredor

Sergio Alejandro Ahumada Corredor

Hace un mes

No está apareciendo el recurso de la fake API

CARLOS ARTURO PUENTES ZAMBRANO

CARLOS ARTURO PUENTES ZAMBRANO

Hace un mes•editado

Metodo DELETE, borrando una categoria cuya URL de imagen no servia:

Por lo demas, no se puede acceder a https://fakeapi.platzi.com/,

Y la otra URL, por ejempo si funciona:

En Insomnia, cuando consulto un id de categoria superior a los que hay ya no aparece 404 NOT FOUND, sino 400 BAD REQUEST:

¡Hola! Gracias por tu respuesta, aunque dudo que sea lo que indicas, el día que envié la solicitud DELETE previamente le había hecho un POST para crear una categoria con mi nombre y me arrojó el id 21, al intentar eliminarla, me arrojó ese error, incluso, podrás ver que me responde un GET con id 1:

Platzi.png
Pero al realizar un DELETE sobre este mismo id me sigue arrojando un "Not found":
Platzi.png
Muy posiblemente tengan un JOB sobre la base de datos para que eliminen las filas añadidas a nivel diario y se mantenga un estado inicial en la base de datos, pero aún así no responde con DELETE, además, el mensaje es

"Cannot DELETE /api/v1/categories/1"

Creería que esto proviene del framework express.js que es un mensaje que arroja cuando no se ha creado la ruta para este endpoint con el método delete, es decir, creería que hace falta un

app.delete('/api/v1/categories/1', function(req, res))

por algún lado o no está contemplando de manera correcta el endpoint.