CursosEmpresasBlogLiveConfPrecios

Insomnia y Postman

Clase 8 de 19 • Curso de Introducción al Desarrollo Backend

Clase anteriorSiguiente clase
    Sergio Valbuena

    Sergio Valbuena

    student•
    hace 3 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

      student•
      hace 3 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

      student•
      hace 3 años

      También hay otra llamda RapidAPI Client :D

    Diego Geovanny Bracero

    Diego Geovanny Bracero

    student•
    hace 3 años

    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

      Antonio Demarco Bonino

      Antonio Demarco Bonino

      student•
      hace 3 años

      Muchas gracias Diego. Lo voy a probar. #NuncaParesDeAyudar

      Joel Angel David Barrantes Palacios

      Joel Angel David Barrantes Palacios

      student•
      hace 3 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 :-)

    Gabriel Andrés Alzate Acuña

    Gabriel Andrés Alzate Acuña

    student•
    hace 3 años

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

    Acá les dejo el enlace:

    https://fakeapi.platzi.com

      Felix Torres Javier Antonio

      Felix Torres Javier Antonio

      student•
      hace 3 años

      creo que no está funcionado

      Eddie Andres Rios Elgueta

      Eddie Andres Rios Elgueta

      student•
      hace 3 años

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

    Jesús David García Cuello

    Jesús David García Cuello

    student•
    hace 3 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

    student•
    hace 3 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

      student•
      hace 4 meses

      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

    student•
    hace 3 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

      student•
      hace 3 años

      yo pude borrar cualquiera

      Venus Perez

      Venus Perez

      student•
      hace 2 años

      Me pasa igual, solo pude borrar la que yo cree

    Carlos Mauro Cárdenas Fernández

    Carlos Mauro Cárdenas Fernández

    student•
    hace 3 años

    Esta bien usable insomia

    Jimer Samuel Espinoza

    Jimer Samuel Espinoza

    student•
    hace 3 años

    No puedo eliminarlaaaaaaa

      Erik Santiago Mantilla Agaton

      Erik Santiago Mantilla Agaton

      student•
      hace 3 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

      student•
      hace 3 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

    student•
    hace 3 años

    Delete

    delete.png

    Kalet Adonay Chavez Alas

    Kalet Adonay Chavez Alas

    student•
    hace 3 años

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

      Greymar Osuna Zambrano

      Greymar Osuna Zambrano

      student•
      hace 3 años

      Gracias por la informacion!!!!

    Santiago López Alarcón

    Santiago López Alarcón

    student•
    hace 2 años

    Súpe, me gustó bastante esta clase.

    Gonzalo Osco Hernandez

    Gonzalo Osco Hernandez

    student•
    hace 3 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

    student•
    hace 3 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

      student•
      hace 3 años

      Me pasó igual a mi!

    Alejandro Camayo Cabanillas

    Alejandro Camayo Cabanillas

    student•
    hace 4 meses

    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

    student•
    hace 3 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

    student•
    hace 3 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

      student•
      hace 3 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

      student•
      hace 3 años

      ¡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.

    Jerald Jeanphierre Espinoza Flores

    Jerald Jeanphierre Espinoza Flores

    student•
    hace 3 años

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

    Ronald Ernesto Soto Nicoll

    Ronald Ernesto Soto Nicoll

    student•
    hace 3 meses

    Consulta ,para PUT no se tenía que enviar todos los campos para lograr el cambio ? ,no era PATCH con el que se podían hacer cambios parciales ?

    Diego Ramos Ricardez

    Diego Ramos Ricardez

    student•
    hace 5 meses

    Que genial que Platzi creara una API solo para sus estudiantes!

    Omar Ulises Reyes Amador

    Omar Ulises Reyes Amador

    student•
    hace 2 años

    Yo intenté hacer un update al id, pero no se pudo, por qué? Debido a que el id que se le asignó a mi categoría fue 16, el endpoint que usé fue: [PUT] https://api.escuelajs.co/api/v1/categories/16 Y el body: { "id": 13 }

      Brayan Urrutia

      Brayan Urrutia

      student•
      hace 2 años

      Creo (aunque no estoy seguro) que la API suele actualizar o eliminar ciertos id creados, porque en mi caso me pasó lo mismo; cuando fuí a eliminar mi id (el cual se me asigno el 77) me aparecií que dicho id no existía, entonces creé de nuevo otro endpoint y fué cuando me asignó el id 6. Tal vez intenta crear de nuevo otro endpoint.

Escuelas

  • Desarrollo Web
  • English Academy
  • Marketing Digital
  • Inteligencia Artificial y Data Science
  • Ciberseguridad
  • Liderazgo y Habilidades Blandas
  • Diseño de Producto y UX
  • Contenido Audiovisual
  • Desarrollo Móvil
  • Diseño Gráfico y Arte Digital
  • Programación
  • Negocios
  • Blockchain y Web3
  • Recursos Humanos
  • Finanzas e Inversiones
  • Startups
  • Cloud Computing y DevOps

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
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