No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Proyecto: diseñando los endpoints para los usuarios

10/12
Recursos

Aportes 97

Preguntas 2

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

/ users / { user_id } / update

y

/ users / { user_id } / delete

Les comparto una lectura que me ayudó a aterrizar los conceptos:

https://elbauldelprogramador.com/buenas-practicas-para-el-diseno-de-una-api-restful-pragmatica/

## Endpoints para Tweets

(GET) /api/tweets => shows all tweets
(POST) /api/post => publish a tweet
(GET) /api/tweets/:id => shows a single tweet
(UPDATE) /api/tweets/:id => updates a tweet
(DELETE) /api/tweets/:id => deletes a tweet

## Endpoints para Usuarios

(GET) /api/users => shows all users
(POST) /api/signup => registers an user
(GET) /api/users/:userID => shows an user
(UPDATE) /api/users/:userID => updates an user
(DELETE) /api/users/:userID => deletes an user

Imagino que sería algo como
/users / {user_id} / update
/users / {user_id} / delete

Recomiendo esta lectura de buenas prácticas para diseñar API Rest

route o path suele ser los mismo pero en el mundod e desarrollo se utiliza mucho route para urls, endpoint que contengan peticiones http y path para variables donde almacenaremos caminos de archivos o directorios dentro de un sistema operativo.

Update

api/v1/users/:id/update

Delete

api/v1/users/:id/delete

Si recien inician en el backend, tomen el curso de Postman, les vendra genial esa herramienta al desarrollar backend
💚

/users/{user_id}/update
/users/{user_id}/delete

Este seria mi resultado, ademas de mis apuntes en caso el sirvan a otra persona. :3

Dos últimos endpoints del proyecto de diseño de API

/ users / { user_id } / update # permite actualizar usuario
/ users / { user_id } / delete #permite borrar usuario

Hola, aquí va:

/users/{user_id}/update

/users/{user_id}/delete

(PUT):/users/{user_id}/block_user{perma_ban}
(PUT):/users/{user_id}/block_user{30_days}

los bloqueos del zuckaritas de 30 dias.
😕

Reto cumplido, disculpen mi caligrafía D:

Los endpoints que faltaban me quedaron así:

/users/{user_id}/update
/users/{user_id}/delete

Que ganas de seguir aprendiendo y pronto desarrollar algo de esto 💫

Mi respuesta!

/users/{user_id}/update     /*=>update a user*/

/users/{user_id}/delete      /*=> delete a user*/

/users/{user_id}/update -> Update a user

/users/{user_id}/delete -> Delete a user

user/{user_id}/update
user/{user_id}/delete

Excelente profesor, y excelente curso, me gusta cuando en los cursos explican hasta con dibujitos y todo.

.
Por cierto, en el endpoint de una peticion normalmente no van agregadas las palabras del CRUD, eso se define en el lenguaje de programacion que estes trabajando al momento de hacer el Request. Cuando haces una peticion a una direccion le agregas una configuracion donde va el metodo de esta request, ya sea Get, Post, Put, Delete, etc.
.
Por ejm: Si estas trabajando con JS o node, usamos mucho fetch (la API nativa de JS para hacer peticiones a un servidor), pero tambien se usa mucho Axios que nos facilita un poquito las cosas y es muy facil de usar.
Axios Documentation

Reto:

/users/{user_id}/update
/users/{user_id}/delete

/ users / { user_id } / update para actualizar el usuario
/ users / { user_id } / delete para borrar el usuario

endpoint para actualizar usuario

/users/{user_id}/update

endpoint para eliminar usuario

/users/{user_id}/delete

Aquie dejo mi idea para los ultimos endpoints, aunque creo que es lo que la mayoria dedujo:

/ users / { user_id } / update
/ users / { user_id } / delete

/users/{user_id}/update - Permite actualizar un usuario

/users/{user_id}/delete - Permite eliminar un usuario

/users / {user_id} → update user
/users/ {user_id} → delete user

Buenas noches a todos, acá dejo mi aporte del reto.

/users/{user_id}/update => actualizar usuario
/users/{user_id}/delete => eliminar usuario

/Users → Show all users

/Signup → Register a user

/Users/{user_id}/ → Show a user

/Users/{user_id}/update → Update a user

/Users/{user_id}/delete → Delete a user

Endpoint for users
/ users / {user_id} / update -> update a user
/ users / {user_id} / delete -> delete a user

Reto de la clase. Espero si sea leíble 😄

Un pequeño aporte!

BTW el sistema de comentarios de Platzi también es un CRUD

/api/users/{user_id}/update

/api/users/{user_id}/delate

Las explicaciones estan excelentes! muy claras 🤩

Aca dejo los endpoints del reto propuesto

/users/{user_id}/update -> Update a user
/users/{user_id}/delete -> Delete a user

Reto:

/users / {user_id} / update
/users / {user_id} / delete

👾

Endpoint de usuarios faltantes:

/users/{user_id]/update -> update a users

/user/{user_id}/delete -> deletea user

Para ser sincero, me había confundido bastante, pero al repetir las clases lo comprendí mucho mejor.
Repetición y practica.

Mi aporte:

/users/{user_id}/update
/users/{user_id}/delete
users/{user.id}/update
users/{user.id}/delate

/users/{user_id}/update - Para actualizar
/users/{user_id}/delete - Para Eliminar

Después de tomar la trilogía de Python este curso es una buena orientación de a donde seguir, gracias profe

/ users / { user_id } / update
/ users / { user_id } / delete

/ users / { user-id } / update // actualizar un usuario

/ users / { user-id } / delete // borrar un usuario

En mi caso lo haría de esta forma, siento que está mejor pasar el parámetro “id” al final, cómo si dijeramos:

“Actualizar Usuario -> Id usuario”

/users/update/{user_id}
/users/delete/{user_id}

/users/ {user_id} / update > Update a User
/users/ [user_id} / delete > Delete a user

Mi aporte:

/users/{user_id}/update -> update a user
/users/{user_id}/delete -> delete a user

/user/{user=id}/update => este es para actualizar user.
/user/{user=id}/delete => este es para borra r un user.

Endpoint que permite actualizar usuario:
/users/{user_id}/update

Endpoint que permite eliminar usuario:
/users/{user_id}/delete

/users / {user_id} / update
/users / {user_id} / delete

/users / {user_id} / update
/users / {user_id} / delete

/ users / { user_id } / update

/ users / { user_id } / delete

Más información sobre APIs y RESTful APIs

https://www.youtube.com/watch?v=JD6VNRdGl98

/users / {user_id} / update
/users / {user_id} / delete

Comparto los dos últimos endpoints del reto.

#Update a user
/users/ {user_id}/update

#Delete a user
/users/ {user_id}/delete

Listo

/users/{user-id}/update/ #=> update a user
/users/{user-id/delete/ #=> delete a user

Aca va:

/ user /{ user = id } / delete -> delete a user

/ user / { user = id } / update -> update a user

/users/{user_id}/update

/users/{user_id}/delete

Proyecto: diseñando los endpoints para los usuarios

Modelos: tipos de datos en particular que yo voy a manejar en mi app. En este caso, tenemos a Tweets y a Usuarios. Son las tablas en SQL. Estas tablas contienen registros. En un lenguaje de programación, estos registros son los atributos.

  • /users -> Show all users
  • /signup -> Register an user
  • /users/{user_id}/ -> Shows an user
  • /users/{user_id}/update -> Update an user
  • /users/{user_id}/ delete -> delete an user

/users/{user_id}/update->Update a user
/users/{user_id}/delete -> Delete a user

/users/{user_id}/update
/users/{user_id}/delete

Endpoint de los USERS CRUD

Variables en las URL se les denomina parametros

Cada endpoint se obtiene un archivo en formato JSON (contiene los datos )

/users → show all users
/signup → register a user (create)
/users/{user_id} → show a user (read)
/users/{user_id}/updateupdate a user (update)
/users/{user_id}/detele → delete a user (delete)

Users.

  • /users → Show all users.
  • /signup → Register a user.
  • /users/[user_id] → Show a user.
  • /users/[user_id]/update ->Update a user
  • /users/[user_id]/delete->Delete a user

Actualizar usuarios

/users/{user_id}/update

Eliminar usuario

/users/{user_id}/delete 

Actualizar usuarios:

/users/{user_id}/update

Eliminar usuarios:

/users/{user_id}/delete

Para finalizar con el curso:

/users/{user_id}/update
/users/{user_id}/delete
/users/ {user_id}/update #Update a user

/users/ {user_id}/delete #Delete a user
/users/{user_id}/update
/users/{user_id}/delete

Endpoints:

/user/ {user-id} /delete ↦ "delete a user" 

/user/ {user-id} /update ↦ "update a user"

😁

10. Proyecto: diseñando los endpoints para los usuarios

Lo que vimos la clase pasada era tweets, lo que veremos esta clase serán los endpoints de usuarios.

tweets y usuarios, serían modals (modelos), en DB serían tablas. Estas tablas contienen registros.

http://twitter.com/api/tweets (api/tweets es el **endpoint o route o path)
/users --> Show all users
/signup --> Register a user
/users/{user_id}/ --> estas variables son llamadas "parámetros" --> Show a user
/users/{user_id}/update ---> Update a user
/users/{user_id}/delete ---> Delete a user

El servidor va a responder con un archivo JSON (o diccionario de Python u objeto de JS).

/ users / { user_id } / update ->update a user
/ users / { user_id } / delete -> delete a user

http://twitter.com/api/users/{user_id}/update
http://twitter.com/api/users/{user_id}/delete

/ users / {user_id} / update
/ users / {user_id} / delete

Sería:

- /users/{ user_id }/update → update a user
- /users/{ user_id }/deletedelete a user

Los endpoints para actualizar y borrar un usuario:

/users/{user_id}/update
/users/{user_id}/delete

Creación de API’s en python : Fastapi, Django - Rest framework y flask

CRUD : Create, Read, Update and Delete, fundamental en una API

API’s contienen = Endpoint/Route/Path lo que está después del dominio se le denomina endpoint
Ej: http: //twitter. com/API/endpoint.

Los endpoint del API debe seguir las guías del CRUD es decir un endpoint para cada acción como Create, otro endpoint para Read, etc.

Un CRUD se estructura para los models (tweets, users) también conocidos cómo atributos

A las variables en la url se les denomina parámetros

Cada que vayamos a un endpoint el server me va a responder con un archivo en formato JSON, este contiene datos (en forma de diccionario python) que se mostrará

Actualizar y eliminar usuarios:

/ users / {user_id} / update

/ users / {user_id} / delete

Mi aporte:

El endpoint para actualizar usuarios

/users/{user_id}/update 

El endpoint para eliminar usuarios

/users/{user_id}/delete

/users/{user_id}/update —> update a user
/users/{user_id}/delete —> delete a user

/users/{user_id}/update
/user/user_id}/delete

Endpoints para actualizar y borrar un usuario.

/users/{user_id}/update
/users/{user_id}/delete

Yo en el desarrollo de APIsno uso ni /updateo /deletesolo uso los métodos DELETE o PUT para no tener que poner eso en el endpoint

/users/{ user_id }/update
/users/{ user_id }/delete

Reto
Update user endpoint

/users/{user_id}/update

Delete user endpoint

/users/{user_id}/delete

Con lo siguiente ejemplo actualizaríamos un usuario mandándole solo el tipo de método por el que hacemos la solicitud al servidor.

PATCH /users/{user_id} 

Con el siguiente ejemplo hacemos usamos la mismo endpoint pero con el metodo DELETE para eliminar el user.

DELETE /users/{user_id}

Modelos: conocidos en DB como Entidades, las cuales son representadas en las mismas como tablas.

/ users / {user-id}/ update 

y

/ users / {user-id}/ delete
/users/{user_id]/update
/users/{user_id}/delete

En el caso de read, update y delete he visto algunos proyectos donde sobre el mismo endpoint condicionan dependiendo el tipo de peticion, la accion que debe responder el endpoint. Me parece una forma muy elegante de realizarlo, pero no se que tan buena sea esta practica.

/users/{user_id}/update
/users/{user_id}/delete

Actualizar == Update

/user/{user_id}/update

Eliminar == Delete

/user/{user_id}/delete 
/users/{user_id}/update/
/users/{user_id}/delete/

Reto:

/User/{user_id}/update → Update 

/User/{user_id}/deleteDelete

🤠

/users/{user_d}/update  -> Update a user
/users/{user_id}/delete -> Delete a user

Modelo Users:

/ users 
/ signup
/ users / { user_id } 
/ users / { user_id } / update
/ users / { user_id } / delete