6 consejos para que DISEÑES BIEN tu API REST

Поделиться
HTML-код
  • Опубликовано: 10 июл 2024
  • Segundo video de esta miniserie sobre REST. Te doy 6 consejos para que tu API REST quede de la mejor manera.
    ¿Qué es REST? • ¿Qué es REST? | Te lo ...
    MIS CURSOS
    🧹 Arquitecturas Limpias para Desarrollo de Software: platzi.com/l/manuelzapata
    📐 Arquitectura de Software: manuelzapata.co/ars
    🔌 Patrones de Diseño: manuelzapata.co/curso-pdd
    📦 Programación Profesional con Objetos (Gratis): manuelzapata.co/objetos
    🌲 Principios de Diseño SOLID (Gratis): manuelzapata.co/mcp
    🙌 Hazte miembro del canal: / @manuelzapata
    🌎 Mi sitio web: manuelzapata.co
    🎦 Suscríbete al canal: manuelzapata.co/suscribete
    📩 Mi lista de correo: manuelzapata.co/lista
    #ManuelZapata #APIREST #Consejos
  • НаукаНаука

Комментарии • 290

  • @guillermoreyes5495
    @guillermoreyes5495 4 года назад +19

    "Ya quedó" jajaja, buen checklist Manuel, gracias!

  • @andresgrisalesgonzalez7704
    @andresgrisalesgonzalez7704 4 года назад +45

    Me gustó mucho el vídeo y me atreveré a decir unas cosas y quizá a alguien más también le sirva (si algo no te parece, por favor dímelo :)
    1. Bajo el método POST siempre deberíamos enviar un cuerpo (Body).
    2. En el ejemplo de /users/1234/favorites, para obtener la colección de favortios utilizamos sobre esa uri el método GET, como dijeste, y si es para agregar un nueva nueva canción (en este caso) a la colección de favoritos de ese usuario 1234, simplemente pasamos bajo el método POST en /users/1234/favorites un body que contenga lo necesario para la operación (por lo general sería simplemente un solo atributo que es el id en este caso de la canción), y ya así tenemos lo necesario para buscar el usuario, la canción, y agregar la canción a los favoritos de ese usuario.
    3. Cuando nos traemos colecciones, en mi opinión, deberiamos siempre recibir un pageable (y tener uno por defecto), que le diga de que tamaño quiere las paginas, y cual quiere. También documentar siempre la API, con swagger, por ejemplo. Usar Loggers, que quede rastro siempre de lo que pase en nuestra API REST.

    • @ManuelZapata
      @ManuelZapata  4 года назад +3

      Tremendo aporte. Totalmente de acuerdo contigo Andrés. Gracias!

    • @mexxiano
      @mexxiano 3 года назад

      Muy bueno! Una consulta: el pageable, por lo que entiendo, estaría relacionado con la paginación de los datos? Y en ese caso, cómo es recomendable pasar esos datos? En el uri o por post? Gracias!

    • @neisservilla7239
      @neisservilla7239 3 года назад

      pregunta: que pasa si necesito incrementar las views de una cancion por ejemplo cada que la obtengo con un metodo GET, al ser el get solo para leer informacion y no escribir debo crear otro endpoint con metodo POST para incrementar las views o si es valido modificar las views cada que se llama ese metodo GET????

    • @andresgrisalesgonzalez7704
      @andresgrisalesgonzalez7704 3 года назад +2

      @@neisservilla7239 Hola, busca sobre algo que se llama Event-Driven Architecture. Lanzas un evento, alguien lo escucha, aumentas el numero de visitas. Es de lo más moderno que hay en el momento.

    • @neisservilla7239
      @neisservilla7239 3 года назад

      @@andresgrisalesgonzalez7704 Muchas gracias por el aporte :D

  • @Solidux2
    @Solidux2 3 года назад

    Gracias, super claro

  • @johncerpa3782
    @johncerpa3782 3 года назад

    Muy buenos consejos. Gracias.

  • @jufran_87
    @jufran_87 3 года назад

    Excelentes recomendaciones, muchas gracias

  • @jqr0319
    @jqr0319 3 года назад

    Excelente Manuel, muy buen aporte.

  • @56f5dbc3
    @56f5dbc3 2 года назад

    Excelente video, gracias

  • @adrianvega3148
    @adrianvega3148 3 года назад

    Súper bueno!

  • @josejairomejiasoto3109
    @josejairomejiasoto3109 2 года назад

    Super... que bien...

  • @carlosvega2055
    @carlosvega2055 3 года назад

    Excelente explicación

  • @marthiynashi
    @marthiynashi Год назад

    Muy interesante contenido, gracias por compartir

  • @danielpinto5680
    @danielpinto5680 2 года назад

    Excelente video y muy interesante,

  • @CarlosDiaz-wh4jb
    @CarlosDiaz-wh4jb 2 года назад

    Excelente video. Gracias por compartir estas buenas prácticas.

  • @javiergutierrez6518
    @javiergutierrez6518 8 месяцев назад

    Ha pasado tiempo y sigue siendo el mejor contenido para backend

  • @codewithdalvin
    @codewithdalvin Год назад

    Excelente video, toda esa información es supervaliosa, muchas gracias.

  • @pw4645
    @pw4645 3 года назад

    Gracias Manuel, me sirvio mucho tus consejos

  • @tatanag6801
    @tatanag6801 Год назад

    Excelente contenido ! mil gracias por lo claro, sencillo y buen material que entregas !

  • @miguelj.g.9215
    @miguelj.g.9215 3 года назад

    Excelente tu vídeo, muchas gracias por la información.

  • @Mathias-cq3zo
    @Mathias-cq3zo 3 года назад

    muchas gracias por tu video!! acabo de aprender lo básico de Django REST en un proyecto en la universidad y este video me ha aclarado muchas dudas y, mejor aún, me ha mostrado buenas prácticas para usar en mis proyectos y también por donde seguir aprendiendo sobre API REST. Saludos desde Chile!

  • @CesarBerrio
    @CesarBerrio 3 года назад

    Excelente presentación! muchas gracias; buen trabajo! muy interesante

  • @jdbaigorria
    @jdbaigorria 3 года назад

    Sos un genio tus explicaciones son sencillas y fácil de seguir.

  • @MrOsnayder
    @MrOsnayder 3 года назад

    Muy chévere estos vidos.!!!! Saludos desde Zipaquirá Cundinamarca

  •  3 года назад

    Muy interesantes los consejos

  • @Colmedoherman
    @Colmedoherman 3 года назад +2

    Excelente! el video que estaba buscando, gracias Manuel 👌🏾 Sería interesante hablar un poco sobre los posibles patterns a utilizar en una API

  • @gudielcobon
    @gudielcobon 4 года назад

    Excelente; estaré al pendiente de tus vídeos.

  • @EdgarDextre
    @EdgarDextre 3 года назад

    Conciso y con los ejemplos mucho mejor, saludos de Perú Manuel.

  • @MrAndrewRod
    @MrAndrewRod 3 года назад

    Muchas gracias, excelentes consejos, la verdad jamás me había detenido a pensar en optimizar mi apis de esta forma, sino que meramente me preocupaba por la comunicación de los datos que fuera efectiva y ya. Pero éste video le da una dimensión más organizada para desarrollar un api rest más eficaz y optima. Muchas Gracias !!!

  • @jhonvalencia6902
    @jhonvalencia6902 4 года назад

    Excelente video, muchas gracias.

  • @grafikdesigner4399
    @grafikdesigner4399 Год назад

    Buen video ! y gracias por compartir estos tips, me sirvieron para tenerlo cuenta en el diseño, saludos !

  • @samuel23300
    @samuel23300 3 года назад

    Vaya que bueno saberlo🇲🇽

  • @laskalegne
    @laskalegne 2 года назад

    Videos super interesantes!!!!

  • @luisa.diazpaneque5584
    @luisa.diazpaneque5584 2 года назад

    excelente video, recien estoy aprendiendo acerca de este tema y fue muy explicativo y sencillo de entender

  • @paulvalencia9243
    @paulvalencia9243 4 года назад

    Hermano muchas gracias eres un crack compatriota, tu contenido es muy bueno.

    • @ManuelZapata
      @ManuelZapata  4 года назад

      PaulValencia92 gracias 🙌 Aquí seguimos haciéndole!

  • @niclorenzo2603
    @niclorenzo2603 4 года назад

    Great video Architect! Thank you.

  • @DgarciarDev
    @DgarciarDev 4 года назад +1

    Muy Claro, cositas por arreglar !! Gracias !

    • @ManuelZapata
      @ManuelZapata  4 года назад +1

      De eso se trata. De ir mejorando. Saludos!

  • @mikelgalardi2678
    @mikelgalardi2678 2 года назад

    Buen vídeo explicativo Manuel, gracias.

  • @sirwrad
    @sirwrad 4 года назад

    Q genial excelente contenido, me ayudará mucho en mis proximas APIs REST!

    • @ManuelZapata
      @ManuelZapata  4 года назад

      De eso se trata Darwin. Saludos!

  • @clibercastillo5489
    @clibercastillo5489 4 года назад +1

    Me ayudó bastante, excelente.

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Que bueno Cliber! De eso se trata.

  • @SebastianEPH
    @SebastianEPH 2 года назад

    Esta información es oro puro

  • @RafaelCayamo
    @RafaelCayamo Год назад +1

    Gracias por tus consejos, me ayuda mucho a mejorar y hacerme mejor profesional, pienso que luego de resolver el problema logico es importante hacer las cosas entendibles para los que usaran nuestras soluciones, me gustaria si puedes hacer algo en cuanto a la documentacion de las apis, gracias nuevamente

  • @nakeishamartinez7459
    @nakeishamartinez7459 3 года назад

    Wooa me resolviste todas mis dudas :o gracias! explicas súper bien y sencillo

    • @ManuelZapata
      @ManuelZapata  3 года назад

      Muuchas gracias por tus palabras!

  • @fersenmacias2699
    @fersenmacias2699 11 месяцев назад

    muy buenos tus videos bro

  • @giacomosantana3305
    @giacomosantana3305 3 года назад

    Excelente, me aclaro algunas cosas que tenia dudas

  • @saufth
    @saufth 3 года назад

    Gracias amigo, fue de mucha ayuda, aclaraste muchas dudas que tenia desde hace mucho

    • @ManuelZapata
      @ManuelZapata  3 года назад

      Excelente Fer. Para eso estamos!

  • @javierherediaruiz6076
    @javierherediaruiz6076 2 года назад

    Excelentes sugerencias. Sigue así, se aprende mucho con vos!!!!

  • @DominiCode
    @DominiCode 3 года назад

    Muchas gracias por compartir 👏

    • @ManuelZapata
      @ManuelZapata  3 года назад

      Con el mayor de los gusto Domini! 💪

  • @paolagalarza2823
    @paolagalarza2823 3 года назад

    gracias ... lo necesitaba !

  • @angelbustamante93
    @angelbustamante93 3 года назад

    muchas gracias !

  • @alvarof.chavez6463
    @alvarof.chavez6463 2 года назад

    Excelente información

  • @alejandro5lmL
    @alejandro5lmL 3 года назад

    Me gustó mucho, de hecho varios de esos errores los aprendí cómo mitos en la escuela y aprendí hasta trabajar como desarrollador. ¿Lo más curioso? Veo aún esos errores en los diseños, así que muchas gracias por recordarme todo esto!

  • @javiergutierrez6518
    @javiergutierrez6518 3 года назад

    Excelente explicación, no he visto este contenido en otros canales, muchas gracias otra vez

  • @programacionjavahash
    @programacionjavahash 4 года назад

    Excelente viejo Manuel.

    • @ManuelZapata
      @ManuelZapata  4 года назад +1

      Viejo Robert!! No sabía que estabas por acá. Saludos!!

  • @AndresLobaton
    @AndresLobaton 4 года назад

    Muy bien. Gracias

  • @KEANCORP
    @KEANCORP 3 года назад

    Cree una REST y estoy aplicando los consejos

  • @LuisSanteliz
    @LuisSanteliz 3 года назад

    excelentes consejos mano... gracias

  • @orlandomanuelospinohernand9869
    @orlandomanuelospinohernand9869 4 года назад

    Muy buena explicación, apenaa estoy comenzando en el área de la programación.. 👍

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Genial Orlando! Así empiezas con el pie derecho.

  • @edwinberrones5570
    @edwinberrones5570 4 года назад +2

    Genial los tips, los voy aplicar al momento de crear mi api, saludos

  • @peruvianException
    @peruvianException 3 года назад

    Excelentes consejos.

  • @diegtria1
    @diegtria1 Год назад

    Hola, información de calidad, estoy investigando sobre la creación de servicios y aprendi bastante.

  • @ypgranados
    @ypgranados 4 года назад

    Que gran video, he cometido muchas de las malas practicas comentadas aca pero me ha ayudado mucho a comprender mejor el concepto de una api REST, saludos!

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Excelente Jefferson! Se trata de aprender y seguir mejorando 💪

  • @michellev7080
    @michellev7080 4 года назад +3

    Justo lo necesitaba, estoy creando mi primera api rest, muchas gracias

    • @ManuelZapata
      @ManuelZapata  4 года назад +1

      Just in time. Saludos Michelle! 🙌

  • @samuel14luis
    @samuel14luis 4 года назад +1

    Precioso vídeo

  • @jasonfallas3044
    @jasonfallas3044 3 года назад

    Exelente contenido.

  • @faangoos
    @faangoos 3 года назад

    Estoy empezando a estudiar este tema y me parece excelente los consejos para la implementación de una api rest. Saludos.

  • @edwarmoranrosillo3353
    @edwarmoranrosillo3353 3 года назад

    muy bueno....!!!

  • @nethanzel
    @nethanzel 3 года назад

    Gracias, ahi anote varios fallos y posibilidades de mejorar. Sigue asi, son muy buenos tus videos

    • @ManuelZapata
      @ManuelZapata  3 года назад

      Esa es la idea de estos videos. Poder tomar ideas para mejorar. Saludos!

  • @diegoFolk
    @diegoFolk 4 года назад

    Mil gracias por esta información. Estoy iniciando en Servicios Web y con esto me ayudas mucho.

  • @cristianpadilla2069
    @cristianpadilla2069 3 года назад

    que buen canal hermano

  • @kevindaniel1340
    @kevindaniel1340 Год назад

    Manuel me encantó el vídeo, podés compartir documentación el tipo de recurso de controladores para ahondar en este concepto?.

  • @LuisLopez1099llg
    @LuisLopez1099llg 2 года назад

    Siempre devolver 200 hahaha identificado.
    Muchas gracias c:

  • @ack2012
    @ack2012 3 года назад +1

    Manuel. Felicidades por tus contenidos. Tengo una semana que descubrí tu canal y ya me has ayudado un montón. Muchas gracias.
    Una sugerencia para temas futuros a tratar: podrías armar algun video acerca de Arquitectura basada en servicios VS. Arquitectura basada en eventos? Cómo saber cuándo usar una o la otra? Ventajas/desventajas, etc..

    • @ManuelZapata
      @ManuelZapata  3 года назад +1

      Ese sería un tema interesante. Gracias por la recomendación Adameck!

  • @NicoILeone
    @NicoILeone 4 года назад

    Excelente video Manuel! te felicito! Muy bien explicado y en poco tiempo. Se comprenden los conceptos. Me encuentro desarrollando una API con Yii2 Framework que viene con muchas herramientas para ello. Saludos!

  • @hugogher
    @hugogher 3 года назад

    muy bueno el video!! algunos de los temas que hablaste me consultaron en una entrevista técnica

  • @Algedibarrios
    @Algedibarrios 4 года назад +1

    Sin desperdicio!

  • @mariaquintero7713
    @mariaquintero7713 4 года назад

    Están muy interesante el contenido. Excelente. Aún no uso el versionado.

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Ya habrá oportunidad de aplicarlo. Saludos Maria!

  • @jemc300x
    @jemc300x 4 года назад

    Hola Manuel, el material del video esta excelente es muy educativo. Seria bueno uno así pero explicando RPC y mostrando las diferencias entre API REST y RPC .

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Anotada la recomendación, Enrique. Gracias!

  • @josemanuelmartinellreynald5785
    @josemanuelmartinellreynald5785 2 года назад

    Saludos desde Cuba.

  • @andresrivas5256
    @andresrivas5256 3 года назад

    Excelente!

  • @alejandrocabrera8132
    @alejandrocabrera8132 Год назад

    Buen video

  • @lvbernal
    @lvbernal 4 года назад

    Gracias, Manuel! Este es un video para visitar muchas veces durante la carrera de desarrollador.

    • @lvbernal
      @lvbernal 4 года назад +1

      ¿Qué recomiendas para manejar información delicada en un GET? Por ejemplo, un Id de usuario interno que no se incluya en el token del servicio de autenticación.

    • @ManuelZapata
      @ManuelZapata  4 года назад +2

      Leo, lo que yo he hecho en el paso son dos cosas (excluyentes)
      1. Incluir ese dato delicado como un custom claim en el access token.
      2. Incluirlo como un custom header en el HTTP request.

  • @iamthefuelte
    @iamthefuelte 3 года назад

    hola manuel te saludo desde argentina, muy bueno tus videos, estoy aprendiendo mucho de vos, tenes algun video en el cual haya mas detalles de versionado de apis?abrazo desde argentina

  • @thejuan327
    @thejuan327 3 года назад

    muchas gracias, aprendí a hacerlas al vuelo con ejemplos en el trabajo y no se seguía ninguna buena práctica, reiniciaré mi vida como programador de apis :O

    • @ManuelZapata
      @ManuelZapata  3 года назад

      Jejeje, excelente. Saludos Juan!

  • @gerardoagustin
    @gerardoagustin 4 года назад

    Gracias por la información, ahora sera interesante aplicar estas reglas. Saludos. Podrías subir un video con un ejemplo?

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Ya a partir de aquí lo que toca es que apliques las recomendaciones cuando estes haciendo tu API. Saludos Gerardo!

  • @__cpmarcelo
    @__cpmarcelo 3 года назад +1

    Buen video, si se pudiera uno explicando un webhook y la diferencia con una api

  • @davisayuspupo9132
    @davisayuspupo9132 3 года назад

    Manuel excelente video, seria de mucha utilidad hacer ejemplos prácticos y ver también como implementar la capa de negocio que debe tener y que consejos de buenas practicas tienes para esa capa.

    • @ManuelZapata
      @ManuelZapata  3 года назад

      El tema de la capa de negocio da para libros enteros. En el canal tengo un par de videos al respecto. Saludos!

  • @borisxd6614
    @borisxd6614 2 года назад

    Me gusto mucho el video, quizas seria bueno un video sobre el patron repositorio y gracias por el contenido

  • @juandavidcastroperez9662
    @juandavidcastroperez9662 3 года назад

    Buen video, ¿Cuándo puedes subir un video en el que compares una aplicación web, una api y una api rest full acerca de su arquitectura y estructura?. Gracias

  • @Coderos
    @Coderos 4 года назад

    Video esencial para aquellos que hacen API’s a mano.

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Mil gracias por recomendar el vídeo @Coderos!!

  • @nelsonvalverdelatorre5780
    @nelsonvalverdelatorre5780 3 года назад

    Muy buen aporte, conocí algunos proyectos que siempre iban como respuesta de api como "200" y encapsulan la respuesta con
    { "estado," "result","meessage"}
    Y También con las petición dónde solo se envían solo con "POST".

    • @ManuelZapata
      @ManuelZapata  3 года назад

      Pasa muchísimo eso! Se desaprovecha toda la semántica de REST y HTTP.

  • @javierc2657
    @javierc2657 3 года назад

    Thanks

  • @v4ldevrr4m47
    @v4ldevrr4m47 3 года назад

    Hola Manuel, porsupuesto que interesantisimo el tema, me fue util para retrasmitir esos consejos en una charla que preparo tambien. Llegue aqui busando info sobre JWT y viendo los metodos de asegurar tu API. Me dispongo ha hacer mi primera API REST como ejercicio personal y compartire en un live de comunidad pronto. Gracias otra vez

    • @ManuelZapata
      @ManuelZapata  3 года назад +1

      Genial Valderrama! Hiciste el live? Qué tal les fue?

    • @v4ldevrr4m47
      @v4ldevrr4m47 3 года назад

      @@ManuelZapata Todo bien, Al final no ahondamos hasta los temas de seguridad, pero como te comentaba era Buena tenerlas presentes.

  • @alfonsoevangelista9356
    @alfonsoevangelista9356 3 года назад +3

    Super!! Excelentes consejos. Felicidades! Me gustaría que hablaras sobre Graghql en algún vídeo.

    • @ManuelZapata
      @ManuelZapata  3 года назад +2

      Por ahí lo tengo en el radar. Sobre todo para compararlo con REST.

    • @xzdasx
      @xzdasx 3 года назад

      @@ManuelZapata Esto va estar interesante, ya he implementado un par de APIs en graphql y tengo emociones encontradas al respecto.

  • @diegodorado07
    @diegodorado07 2 года назад

    gracias por el video, tienes alguno sobre snkow flake schema, cubos OLAP para bases de datoss? seria bueno una serie

    • @ManuelZapata
      @ManuelZapata  Год назад

      Te agradezco la sugerencia, Diego! Desafortunadamente no es mi área.

  • @pipe201196
    @pipe201196 2 года назад

    hola buen video, podrias hablar de consejos para apis en graphql

  • @PilarDarce
    @PilarDarce 4 года назад

    Muy buena explicación! Me gustaría que hablaras más a fondo sobre la seguridad de las API's

    • @ManuelZapata
      @ManuelZapata  4 года назад +1

      Muy buen tema Pilar. Lo anoto para futuros temas del canal. Gracias.

    • @PilarDarce
      @PilarDarce 4 года назад

      @@ManuelZapata muchas gracias! estaré al pendiente!

  • @omarbarra3456
    @omarbarra3456 4 года назад

    Muy bien explicado. Recomendarias utilizar OPTION para los Controller?

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Realmente no. Es más un mecanismo que los browsers usan para validar las opciones disponibles. Saludos Omar!

  • @CLY_-mj5tg
    @CLY_-mj5tg 2 года назад

    NINJA me suscribo yaaaa

  • @kinakeyoytech
    @kinakeyoytech 3 года назад

    he caido en varias mala practicas, buen video

    • @ManuelZapata
      @ManuelZapata  3 года назад

      Se trata de identificar, aprender y corregir. Saludos Enrique!

  • @ederjara3749
    @ederjara3749 4 года назад

    Buen video. Podrias hacer un ejemplo con las buenas practicas. Por ejemplo para busquedas se suele utilizar post con un json en el body. Explicar la responsabilidad de cada capa ejemplo controllers, service, repository, entity, DTO, exceptions

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Esta buena esa idea. La anoté en mi backlog. Muchas gracias bit code!

  • @pedrotorres380
    @pedrotorres380 4 года назад

    Excelente video, quería saber que aconsejas sobre el versionamiento de las API, que métodos existen?

    • @ManuelZapata
      @ManuelZapata  4 года назад

      Lo más sencillo es que uses un prefijo al comienzo de las rutas del API.
      Por ejemplo:
      /api/v1/customers
      /api/v1/products
      Cuando crees la versión asignas un nuevo prefijo, y dejas el código original en las rutas /v1