VSCode tienen una extension que se llama THUNDER CLIENT, hace lo mismo que insomnia o Postman, pero dentro del editor!
Roles del desarrollo web
Los roles del desarrollo backend
Frontend, Backend y Full Stack
Fundamentos del backend
¿Cómo se construye el backend?
¿Cómo escoger lenguajes y frameworks para backend?
HTTP
APIs REST
¿Qué son las APIs?
Estructura REST API
Insomnia y Postman
Backend en el dia a día
La nube
DevOps
El servidor
Cookies y sesiones
Bases de datos
Escalabilidad en el backend
¿Qué es el escalamiento?
¿Qué es la replicación?
¿Qué es la caché?
Colas de tareas
Server-Side Rendering
Próximos pasos
¿Qué aprender ahora?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 121
Preguntas 10
VSCode tienen una extension que se llama THUNDER CLIENT, hace lo mismo que insomnia o Postman, pero dentro del editor!
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:
[GET] https://api.escuelajs.co/api/v1/categories
[
{
"id": 1,
"name": "Clothes",
"image": "https://placeimg.com/640/480/any"
}
// ...
]
[GET] https://api.escuelajs.co/api/v1/categories/1
{
"id": 1,
"name": "Clothes",
"image": "https://placeimg.com/640/480/any"
}
[POST] https://api.escuelajs.co/api/v1/categories/
Body de tipo JSON:
{
"name": "Mi nueva categoría",
"image": "https://placeimg.com/640/480/any"
}
[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.
.
[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.
.
Primero necesitamos crear un producto utilizando la siguiente petición y enviando el body (JSON) correctamente:
[POST] https://api.escuelajs.co/api/v1/products/
{
"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
[GET] https://api.escuelajs.co/api/v1/products/219
[DELETE] https://api.escuelajs.co/api/v1/products/219
[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
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
⠀
⠀
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.
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.
Esta bien usable insomia
No puedo eliminarlaaaaaaa
Delete
Si usan Visual Studio code, pueden usar la extension Thunder client,que sirve para lo mismo!!
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
Súpe, me gustó bastante esta clase.
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.
Para linux no ubuntu:
https://github.com/Kong/insomnia
para arch esta en aur insomnia-gir.
PD: si utiliza electron…
¡Hola Nicolas!
El DELETE no está funcionando para el endpoint de las categorias:
Me acomodo más con Insomnia que con Postman… Gracias por usarla
Like a esta clase
Error al intentar elminar la categoria
{
"statusCode": 404,
"message": "Cannot DELETE /api/v1/categories/10",
"error": "Not Found"
}
No me funcionó la fake API
An Error Occurred
Parking is currently unavailable. We’ll be right back.
26/08/2023
Les comparto una alternativa 💚 para hacer pruebas las REST API con puro python http_requests 💻
Dios les bendiga a cada persona que lea esto,
me estanqué en el curso porque no encontraba la api funcional entonces acá pongo el link para que no te pase como a mí:
que estén muy bien!
Deleting my new category!
ami no me funciono insmonia solo postman :C
Chicos este es el link:👇
https://fakeapi.platzi.com
La extension si gustan hacerlo en VS CODE son:👇
REST Client,RapidAPI Client o THUNDER CLIENT
otra herramienta que funciona es hoppscotch y lo mejor de todo es que funciona en la web.
Genial, muy claro este video
estoy usando el editor de codigo y insomnia al mismo tiempo tienen susdiferencias pero funcionan practicamente igual y puedo ver lo que escribo en insomnia al igual lo que escribo en el editor de codigo
para eliminar nada mas coloque delete en donde estan las opciones de get put pach etc , elimine el codigo que tenia en json y lo ejecute como resultado me devolvio true
revise con get nuevamente y efectivamente se elimino la posicion que seleccione
.coloque el id del elemento que elimine en el url "https://placeimg./categories/3
Genial, para eliminar lo hacemos con el id de la categoría que queremos eliminar y el verbo delete
El delete no funciona con categories pero sí con productos
Clase espectacular !!!
Reto completado!!!
Muy buena clase practica, pude hacer los 4 métodos GET, POST,PUT,DELETE
Esta clase me encanto bastante. Lo que necesitaba para practicar, unas APIs reales para poner a prueba mis conocimiento de interactuar con ellas por medio de backend. Espero que en la ruta del backend aprenda a la construccion de este y como darle la funcionalidad que deseo.
Pueden usar esta pagina para no tener que instalar nada ni en vs code ni en el pc
Me tomo un poco mas de media hora poder lograrlo… pero no puedes eliminar algo que no creaste, si le das eliminar a la categoria creada te va a aparecer 200 si no 400
Me llevo un rato darme cuenta porque el environment lo acutalizaron y está distinto al del profe.
1ero fue a “New Document”,
2do a “Debug”,
3ero a "New HTTP Request"
y listo ahí ya pude seguir la clase.
Done 😃
si pude eliminar la categoria
Genial nunca había escuchado de insomnia , siempre había trabajado con postman pero insomnia me pareció genial y muy práctico, todos los dias se aprende algo nuevo en platzi…😃
Diganme cuando este online la api por favor xd
Tambien deberian de usar las API’s de Sporify, Notion, YouTube, Twitter, entre otras más. La mayoría son gratuitas o al menos tienen una capa gratuita para practicar.
Deberian crear una API con autorización para que cada alumno tenga su propia API original, ya la fake api de platzi está demasiado modificada por los alumnos.
si se elimino copie el link, escogi no body, le di el numero de la categoria, y despues al consultar las categorias la numero 11 no aparece
El delate sí funciona, solo verifiquen que el id exista porque puede que alguien lo haya borrado…
Cree un producto de Emma Stone haha, la adoro como actriz.
Estructura REST API
End point para manejar un producto
Endpoint Method Body Response Status
/products GET N/A [{}, {}, …] 200
/products/:id GET N/A {} 200
/products POST {…} {…} 201
/products/:id PUT/PATCH {…} {…} 201
/products/:id DELETE N/A TRUE/FALSE 201
El delete no me funciona en el endpoint de categorias pero si me funciona con productos, A que se debe?
Buen ejercicio, pude utilizar y probar todos los métodos vistos en clase… Llegué hasta el final con el método Delete tanto para categories como para products… Los messages responden por bien… 200, 201 y true… 👍👍👍
Confirmado, sale True
excelente recurso para trabajar en el curso, facil y didactico
para los que usan git, desde el Git Bash, pueden hacer un request usando:
curl -s -get https://api.escuelajs.co/api/v1/categories/1
Me parecio excelente esa API, pude practicar y me quedaron los conceptos claros
La URL sigue en funcionamiento, aunque no abre en el navegador el programa funciona con la URL
https://fakeapi.platzi.com
Ya agregue el ID 20 espero no lo borren
Logré eliminar la categoría. La verdad fue muy interesante aprender esto a través de este programa Insomnia, no lo conocía.
Nicolás a mí me funciono gracias
Nicolas, salio todo perfecto pude borrar.
saludos
Hace 3 años, esta clase hubiera sido absolutamente magnifica.
Recomiendo, si usted no conoce el contenido, tome notas milimetricamente, esto es el dia a dia cuando se desarrollan APIs en cualquier lenguaje. Genial clase Nicolas.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?